home *** CD-ROM | disk | FTP | other *** search
/ Halting the Hacker - A P…uide to Computer Security / Halting the Hacker - A Practical Guide to Computer Security.iso / rfc / rfc1636.txt < prev    next >
Text File  |  1997-04-01  |  131KB  |  2,916 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                          R. Braden
  8. Request for Comments: 1636                                           ISI
  9. Category: Informational                                         D. Clark
  10.                                      MIT Laboratory for Computer Science
  11.                                                               S. Crocker
  12.                                        Trusted Information Systems, Inc.
  13.                                                               C. Huitema
  14.                                                         INRIA, IAB Chair
  15.                                                                June 1994
  16.  
  17.  
  18.                        Report of IAB Workshop on
  19.  
  20.                  Security in the Internet Architecture
  21.  
  22.                           February 8-10, 1994
  23.  
  24. Status of this Memo
  25.  
  26.    This memo provides information for the Internet community.  This memo
  27.    does not specify an Internet standard of any kind.  Distribution of
  28.    this memo is unlimited.
  29.  
  30. Abstract
  31.  
  32.    This document is a report on an Internet architecture workshop,
  33.    initiated by the IAB and held at USC Information Sciences Institute
  34.    on February 8-10, 1994.  This workshop generally focused on security
  35.    issues in the Internet architecture.
  36.  
  37.    This document should be regarded as a set of working notes containing
  38.    ideas about security that were developed by Internet experts in a
  39.    broad spectrum of areas, including routing, mobility, realtime
  40.    service, and provider requirements, as well as security.  It contains
  41.    some significant diversity of opinions on some important issues.
  42.    This memo is offered as one input in the process of developing viable
  43.    security mechanisms and procedures for the Internet.
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Braden, Clark, Crocker & Huitema                                [Page 1]
  59.  
  60. RFC 1636                  IAB Workshop Report                  June 1994
  61.  
  62.  
  63. Table of Contents
  64.  
  65.    1. INTRODUCTION ..................................................  2
  66.    2. OVERVIEW ......................................................  4
  67.       2.1  Strategic and Political Issues ...........................  4
  68.       2.2  Security Issues ..........................................  4
  69.       2.3  DNS Names for Certificates ...............................  7
  70.    3. FIREWALL ARCHITECTURE .........................................  9
  71.       3.1  Introduction .............................................  9
  72.       3.2  Application-Layer Firewalls .............................. 11
  73.       3.3  IP-Layer Firewalls ....................................... 12
  74.    4. SECURE QOS FORWARDING ......................................... 21
  75.       4.1  The Requirement for Setup ................................ 21
  76.       4.2  Securing the Setup Process. .............................. 22
  77.       4.3  Validating an LLID ....................................... 24
  78.       4.4  Dynamics of Setup ........................................ 28
  79.       4.5  Receiver-Initiated Setup ................................. 30
  80.       4.6  Other Issues ............................................. 30
  81.    5. AN AUTHENTICATION SERVICE ..................................... 35
  82.       5.1  Names and Credentials .................................... 36
  83.       5.2  Identity-Based Authorization ............................. 37
  84.       5.3  Choosing Credentials ..................................... 38
  85.    6. OTHER ISSUES .................................................. 39
  86.       6.1  Privacy and Authentication of Multicast Groups ........... 39
  87.       6.2  Secure Plug-and-Play a Must .............................. 41
  88.       6.3  A Short-Term Confidentiality Mechanism ................... 42
  89.    7. CONCLUSIONS ................................................... 44
  90.       7.1  Suggested Short-Term Actions ............................. 44
  91.       7.2  Suggested Medium-Term Actions ............................ 46
  92.       7.3  Suggested Long-Term Actions .............................. 46
  93.    APPENDIX A -- Workshop Organization .............................. 48
  94.    Security Considerations .......................................... 52
  95.    Authors' Addresses ............................................... 52
  96.  
  97. 1. INTRODUCTION
  98.  
  99.    The Internet Architecture Board (IAB) holds occasional workshops
  100.    designed to consider long-term issues and strategies for the
  101.    Internet, and to suggest future directions for the Internet
  102.    architecture.  This long-term planning function of the IAB is
  103.    complementary to the ongoing engineering efforts performed by working
  104.    groups of the Internet Engineering Task Force (IETF), under the
  105.    leadership of the Internet Engineering Steering Group (IESG) and area
  106.    directorates.
  107.  
  108.    An IAB-initiated workshop on the role of security in the Internet
  109.    Architecture was held on February 8-10, 1994 at the Information
  110.    Sciences Institute of the University of Southern California, in
  111.  
  112.  
  113.  
  114. Braden, Clark, Crocker & Huitema                                [Page 2]
  115.  
  116. RFC 1636                  IAB Workshop Report                  June 1994
  117.  
  118.  
  119.    Marina del Rey, California.  This RFC reports the results of the
  120.    workshop.
  121.  
  122.    In addition to the IAB members, attendees at this meeting included
  123.    the IESG Area Directors for the relevant areas (Internet, Transport,
  124.    Security, and IPng) and a group of 15 other experts in the following
  125.    areas:  IPng, routing, mobility, realtime service, and security (see
  126.    Appendix for a list of attendees).  The IAB explicitly tried to
  127.    balance the number of attendees from each area of expertise.
  128.    Logistics limited the attendance to about 30, which unfortunately
  129.    meant that many highly qualified experts were omitted from the
  130.    invitation list.
  131.  
  132.    In summary, the objectives of this workshop were (1) to explore the
  133.    interconnections between security and the rest of the Internet
  134.    architecture, and (2) to develop recommendations for the Internet
  135.    community on future directions with respect to security.  These
  136.    objectives arose from a conviction in the IAB that the two most
  137.    important problem areas for the Internet architecture are scaling and
  138.    security.  While the scaling problems have led to a flood of
  139.    activities on IPng, there has been less effort devoted to security.
  140.  
  141.    Although some came to the workshop eager to discuss short-term
  142.    security issues in the Internet, the workshop program was designed to
  143.    focus more on long-term issues and broad principles.  Thus, the
  144.    meeting began with the following ground rule: valid topics of
  145.    discussion should involve both security and at least one from the
  146.    list: (a) routing (unicast and multicast), (b) mobility, and (c)
  147.    realtime service.  As a basis for initial discussion, the invitees
  148.    met via email to generate a set of scenarios (see Appendix)
  149.    satisfying this ground rule.
  150.  
  151.    The 30 attendees were divided into three "breakout" groups, with each
  152.    group including experts in all the areas.  The meeting was then
  153.    structured as plenary meetings alternating with parallel breakout
  154.    group sessions (see the agenda in Appendix).  On the third day, the
  155.    groups produced text summarizing the results of their discussions.
  156.    This memo is composed of that text, somewhat rearranged and edited
  157.    into a single document.
  158.  
  159.    The meeting process determined the character of this document.  It
  160.    should be regarded as a set of working notes produced by mostly-
  161.    autonomous groups, containing some diversity of opinions as well as
  162.    duplication of ideas.  It is not the output of the "security
  163.    community", but instead represents ideas about security developed by
  164.    a broad spectrum of Internet experts.  It is offered as a step in a
  165.    process of developing viable security mechanisms and procedures for
  166.    the Internet.
  167.  
  168.  
  169.  
  170. Braden, Clark, Crocker & Huitema                                [Page 3]
  171.  
  172. RFC 1636                  IAB Workshop Report                  June 1994
  173.  
  174.  
  175. 2. OVERVIEW
  176.  
  177.    2.1  Strategic and Political Issues
  178.  
  179.       Despite the workshop emphasis on architectural issues, there was
  180.       considerable discussion of the real-politik of security.
  181.  
  182.       For a number of years, the IETF, with IAB backing, has worked on
  183.       developing PEM, which provides email security with a great deal of
  184.       functionality.  A question was repeatedly raised at the workshop:
  185.       why has user acceptance of PEM been slow?  A number of answers to
  186.       this question were suggested.
  187.  
  188.       (a)  High-quality implementations have been slow in coming.
  189.  
  190.       (b)  The use of a patented technology, the RSA algorithm, violates
  191.            social conventions of the Internet.
  192.  
  193.       (c)  Export restrictions dampen vendor enthusiasm.
  194.  
  195.       (d)  PEM currently depends upon a certificate hierarchy for its
  196.            names, and certificates form a new and complex name space.
  197.            There is no organizational infrastructure in place for creat-
  198.            ing and managing this name space.
  199.  
  200.       (e)  There is no directory infrastructure available for looking up
  201.            certificates.
  202.  
  203.            The decision to use X.500 has been a complete failure, due to
  204.            the slow deployment of X.500 in the Internet.  Because of UDP
  205.            packet size restrictions, it is not currently feasible to
  206.            store certificates in the DNS, even if the DNS were expanded
  207.            to hold records for individual email users.
  208.  
  209.       It seems probable that more than one, and possibly all, of these
  210.       reasons are at work to discourage PEM adoption.
  211.  
  212.       The baleful comment about eating: "Everything I enjoy is either
  213.       immoral, illegal, or fattening" seems to apply to the cryptography
  214.       technology that is required for Internet security.
  215.  
  216.    2.2  Security Issues
  217.  
  218.       Almost everyone agrees that the Internet needs more and better
  219.       security.  However, that may mean different things to different
  220.       people.  Four top-level requirements for Internet security were
  221.       identified: end-to-end security, end-system security, secure QOS,
  222.       and secure network infrastructure.
  223.  
  224.  
  225.  
  226. Braden, Clark, Crocker & Huitema                                [Page 4]
  227.  
  228. RFC 1636                  IAB Workshop Report                  June 1994
  229.  
  230.  
  231.       A.   End-to-End Security
  232.  
  233.            One requirement is to support confidentiality, authentication
  234.            and integrity for end-to-end communications.  These security
  235.            services are best provided on an end-to-end basis, in order
  236.            to minimize the number of network components that users must
  237.            trust.  Here the "end" may be the end system itself, or a
  238.            proxy (e.g., a firewall) acting on behalf of an end system.
  239.  
  240.            For point-to-point applications, the workshop felt that
  241.            existing security techniques are well suited to support
  242.            confidentiality, authentication and integrity services
  243.            efficiently.  These existing techniques include symmetric
  244.            encryption applied on an end-to-end basis, message digest
  245.            functions, and key management algorithms.  Current work in
  246.            these areas in the IETF include the PEM and Common
  247.            Authentication Technologies working groups.
  248.  
  249.            The group favored a strategic direction for coping with
  250.            export restrictions:  separate authentication from privacy
  251.            (i.e., confidentiality).  This will allow work to proceed on
  252.            authentication for the Internet, despite government
  253.            restrictions on export of privacy technology.  Conversely, it
  254.            will allow easy deployment of privacy without authentication,
  255.            where this is appropriate.
  256.  
  257.            The workshop explored the implications of multicasting for
  258.            end-to-end security.  Some of the unicast security techniques
  259.            can be applied directly to multicast applications, while
  260.            others must be modified.  Section 6.2 contains the results of
  261.            these discussions; in summary, the conclusions were:
  262.  
  263.            a)   Existing technology is adequate to support
  264.                 confidentiality, authentication, and integrity at the
  265.                 level of an entire multicast group.  Supporting
  266.                 authentication and integrity at the level of an
  267.                 individual multicast source is performance-limited and
  268.                 will require technology advances.
  269.  
  270.            b)   End-to-end controls should be based on end system or
  271.                 user identifiers, not low level identifiers or locator
  272.                 information.  This requirement should spawn engineering
  273.                 work which consists of applying known key distribution
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Braden, Clark, Crocker & Huitema                                [Page 5]
  283.  
  284. RFC 1636                  IAB Workshop Report                  June 1994
  285.  
  286.  
  287.                 and cryptographic techniques.
  288.  
  289.       B.   End-System Security
  290.  
  291.            Every host has its own security defenses, but the strength of
  292.            these defenses depends upon the care that is taken in
  293.            administering them.  Careful host security administration
  294.            means plugging security holes in the kernel and applications
  295.            as well as enforcing discipline on users to set good (hard to
  296.            crack) passwords.
  297.  
  298.            Good security administration is labor-intensive, and
  299.            therefore organizations often find it difficult to maintain
  300.            the security of a large number of internal machines.  To
  301.            protect their machines from outside subversion, organizations
  302.            often erect an outer security wall or "perimeter".  Machines
  303.            inside the perimeter communicate with the rest of the
  304.            Internet only through a small set of carefully managed
  305.            machines called "firewalls".  Firewalls may operate at the
  306.            application layer, in which case they are application relays,
  307.            or at the IP layer, in which case they are firewall routers.
  308.  
  309.            The workshop spent considerable time on the architecture of
  310.            firewall routers.  The results are contained in Section 3.
  311.  
  312.       C.   Secure QOS
  313.  
  314.            The Internet is being extended to provide quality-of-service
  315.            capabilities; this is the topic called "realtime service" in
  316.            the workshop.  These extensions raise a new set of security
  317.            issues for the architecture, to assure that users are not
  318.            allowed to attach to resources they are not authorized to
  319.            use, both to prevent theft of resources and to prevent denial
  320.            of service due to unauthorized traffic.  The resources to be
  321.            protected include link shares, service classes or queues,
  322.            multicast trees, and so on.  These resources are used as
  323.            virtual channels within the network, where each virtual
  324.            channel is intended to be used by a particular subset or
  325.            "class" of packets.
  326.  
  327.            Secure QOS, i.e., protection against improper virtual channel
  328.            usage, is a form of access control mechanism.  In general it
  329.            will be based on some form of state establishment (setup)
  330.            that defines authorized "classes".  This setup may be done
  331.            via management configuration (typically in advance and for
  332.            aggregates of users), or it may be done dynamically via
  333.            control information in packets or special messages (typically
  334.            at the time of use by the source or receiver(s) of the
  335.  
  336.  
  337.  
  338. Braden, Clark, Crocker & Huitema                                [Page 6]
  339.  
  340. RFC 1636                  IAB Workshop Report                  June 1994
  341.  
  342.  
  343.            flow/data).  In addition to state establishment, some form of
  344.            authentication will be needed to assure that successive
  345.            packets belong to the established class.  The general case to
  346.            be solved is the multicast group, since in general the
  347.            multicast problem includes the two-party case as a subset.
  348.            The workshop developed an approach to the secure QOS problem,
  349.            which appears in Section 4 below.
  350.  
  351.       D.   Secure Network Infrastructure
  352.  
  353.            Network operation depends upon the management and control
  354.            protocols used to configure and operate the network
  355.            infrastructure, including routers and DNS servers.  An attack
  356.            on the network infrastructure may cause denial-of-service
  357.            from the user viewpoint, but from the network operators'
  358.            viewpoint, security from attack requires authentication and
  359.            integrity for network control and management messages.
  360.  
  361.            Securing the routing protocols seems to be a straightforward
  362.            engineering task.  The workshop concluded the following.
  363.  
  364.            a)   All routing information exchanges should be
  365.                 authenticated between neighboring routers.
  366.  
  367.            b)   The sources of all route information should be
  368.                 authenticated.
  369.  
  370.            c)   Although authenticating the authority of an injector of
  371.                 route information is feasible, authentication of
  372.                 operations on that routing information (e.g.,
  373.                 aggregation) requires further consideration.
  374.  
  375.            Securing router management protocols (e.g., SNMP, Telnet,
  376.            TFTP) is urgent, because of the currently active threats.
  377.            Fortunately, the design task should be a straightforward
  378.            application of existing authentication mechanisms.
  379.  
  380.            Securing DNS is an important issue, but it did not receive
  381.            much attention at the workshop.
  382.  
  383.    2.3  DNS Names for Certificates
  384.  
  385.       As noted in Section 2.1, work on PEM has assumed the use of X.509
  386.       distinguished names as the basis for issuing certificates, with
  387.       public-key encryption.  The most controversial discussion at the
  388.       workshop concerned the possibility of using DNS (i.e., domain)
  389.       names instead of X.509 distinguished names as (at least) an
  390.       interim basis for Internet security.
  391.  
  392.  
  393.  
  394. Braden, Clark, Crocker & Huitema                                [Page 7]
  395.  
  396. RFC 1636                  IAB Workshop Report                  June 1994
  397.  
  398.  
  399.       The argument in favor of DNS names is that they are simple and
  400.       well understood in the Internet world.  It is easy for a computer
  401.       operating in the Internet to be identified this way, and users who
  402.       receive email on such machines already have DNS mailbox names.  In
  403.       contrast, introducing X.509 distinguished names for security will
  404.       add a new layer of names.  Most importantly, there is an existing
  405.       administrative model for assigning DNS names.  There is no
  406.       administrative infrastructure for assigning X.509 distinguished
  407.       names, and generating them may be too complex for early
  408.       acceptance.  The advocates of DNS names for certificates hope that
  409.       using DNS names would encourage the widespread use of security in
  410.       the Internet.  It is expected that DNS names can be replaced later
  411.       by a more capable naming mechanism such as X.509-based
  412.       certificates.
  413.  
  414.       The basic argument against DNS names as a basis for security is
  415.       that they are too "weak".  Their use may lead to confusion in many
  416.       instances, and this confusion can only grow as more organizations
  417.       and individuals attach to the Internet.  Some commercial email
  418.       systems employ numeric mailbox names, and in many organizations
  419.       there are uncertainties such as whether "bumber@foo.edu" belongs
  420.       to Bill Umber or Tom Bumber.  While it is feasible to make DNS
  421.       names more descriptive, there is a concern that the existing
  422.       infrastructure, with millions of short, non-descriptive names,
  423.       will be an impediment to adoption of more descriptive names.
  424.  
  425.       It was noted that the question of what name space to use for
  426.       certificates is independent of the problem of building an
  427.       infrastructure for retrieving those names.  Because of UDP packet
  428.       size restrictions, it would not be feasible to store certificates
  429.       in the DNS without significant changes, even if the DNS were
  430.       expanded to hold records for individual email users.
  431.  
  432.       The group was unable to reach a consensus on the issue of using
  433.       DNS names for security; further discussion in the Internet
  434.       community is needed.
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450. Braden, Clark, Crocker & Huitema                                [Page 8]
  451.  
  452. RFC 1636                  IAB Workshop Report                  June 1994
  453.  
  454.  
  455. 3. FIREWALL ARCHITECTURE
  456.  
  457.    3.1  Introduction
  458.  
  459.       A firewall may be used to isolate a specific connected segment of
  460.       Internet topology.  When such a segment has multiple links to the
  461.       rest of the Internet, coordinated firewall machines are required
  462.       on all the links.
  463.  
  464.       Firewalls may be implemented at different layers in the protocol
  465.       stack.  They are most commonly implemented at the application
  466.       layer by forwarding (application) gateways, or at the IP
  467.       (Internet) layer by filtering routers.  Section 3.2 discusses
  468.       application gateways.  Section 3.3 concerns Internet-layer
  469.       firewalls, which filter IP datagrams entering or leaving a
  470.       security perimeter.
  471.  
  472.       The general architectural model for a firewall should separate
  473.       policy, i.e., determining whether or not the requester of a
  474.       service should be granted access to that service, from control,
  475.       i.e., limiting access to resources to those who have been granted
  476.       access.
  477.  
  478.       3.1.1  The Use for Firewalls
  479.  
  480.          Firewalls are a very emotional topic in the Internet community.
  481.          Some community members feel the firewall concept is very
  482.          powerful because firewalls aggregate security functions in a
  483.          single place, simplifying management, installation and
  484.          configuration.  Others feel that firewalls are damaging for the
  485.          same reason: they provide "a hard, crunchy outside with a soft
  486.          chewy center", i.e., firewalls foster a false sense of
  487.          security, leading to lax security within the firewall
  488.          perimeter.  They observe that much of the "computer crime" in
  489.          corporate environments is perpetrated by insiders, immune to
  490.          the perimeter defense strategy.  Firewall advocates counter
  491.          that firewalls are important as an additional safeguard; they
  492.          should not be regarded as a substitute for careful security
  493.          management within the perimeter.  Firewall detractors are also
  494.          concerned about the difficulty of using firewalls, requiring
  495.          multiple logins and other out-of-band mechanisms, and their
  496.          interference with the usability and vitality of the Internet.
  497.  
  498.          However, firewalls are a fact of life in the Internet today.
  499.          They have been constructed for pragmatic reasons by
  500.          organizations interested in a higher level of security than may
  501.          be possible without them.  This section will try to outline
  502.          some of the advantages and disadvantages of firewalls, and some
  503.  
  504.  
  505.  
  506. Braden, Clark, Crocker & Huitema                                [Page 9]
  507.  
  508. RFC 1636                  IAB Workshop Report                  June 1994
  509.  
  510.  
  511.          instances where they are useful.
  512.  
  513.          Consider a large organization of thousands of hosts.  If every
  514.          host is allowed to communicate directly with the outside world,
  515.          attackers will attempt to penetrate the organization by finding
  516.          the weakest host in the organization, breaching its defenses,
  517.          and then using the resources of that host to extend the
  518.          penetration further within the organization.  In some sense,
  519.          firewalls are not so much a solution to a security problem as
  520.          they are a reaction to a more basic software
  521.          engineering/administration problem: configuring a large number
  522.          of host systems for good security.  If this more basic problem
  523.          could be solved, firewalls would generally be unnecessary.
  524.  
  525.          It is interesting to consider the effect that implementing a
  526.          firewall has upon various individuals in the organization.
  527.          Consider first the effect upon an organization's most secure
  528.          host.  This host basically receives little or no extra
  529.          protection, because its own perimeter defenses are as strong or
  530.          stronger than the firewall.  In addition, the firewall will
  531.          probably reduce the connectivity available to this host, as
  532.          well as the reliability of the communications path to the
  533.          outside world, resulting in inconvenience to the user(s) of
  534.          this host.  From this (most secure) user's point of view, the
  535.          firewall is a loss.
  536.  
  537.          On the other hand, a host with poor security can "hide" behind
  538.          the firewall.  In exchange for a more limited ability to
  539.          communicate with the outside world, this host can benefit from
  540.          the higher level of security provided by the firewall, which is
  541.          assumed to be based upon the best security available in the
  542.          entire  organization.  If this host only wants to communicate
  543.          with other hosts inside the organization, the outside
  544.          communications limitations imposed by the firewall may not even
  545.          be noticed.  From this host's viewpoint, better security has
  546.          been gained at little or no cost.
  547.  
  548.          Finally, consider the point of view of the organization as a
  549.          whole.  A firewall allows the extension of the best security in
  550.          the organization across the whole organization.  This is a
  551.          benefit (except in the case where all host perimeter defenses
  552.          in the organization are equal).  Centralized access control
  553.          also becomes possible, which may be either a benefit or a cost,
  554.          depending upon the organization.  The "secure" hosts within the
  555.          organization may perceive a loss, while the "unsecure" hosts
  556.          receive a benefit.  The cost/benefit ratio to the organization
  557.          as a whole thus depends upon the relative numbers of "secure"
  558.          and "unsecure" hosts in the organization.
  559.  
  560.  
  561.  
  562. Braden, Clark, Crocker & Huitema                               [Page 10]
  563.  
  564. RFC 1636                  IAB Workshop Report                  June 1994
  565.  
  566.  
  567.          Consider some cases where firewalls do not make sense.  An
  568.          individual can be thought of as an organization of one host.
  569.          The security of all the host(s) is thus (trivially) identical,
  570.          and by definition the best available to the organization.  In
  571.          this case the choice of firewall is simple.  Does this
  572.          individual wish to communicate with the outside or not?  If
  573.          not, then the "perfect" firewall is implemented (by complete
  574.          disconnection).  If yes, then the host perimeter will be the
  575.          same as the firewall perimeter, so a firewall becomes
  576.          unnecessary.
  577.  
  578.          Another interesting case is an organization that consists of
  579.          individuals with few shared interests.  This might be the case
  580.          of a service provider that sells public access to the network.
  581.          An unrelated community of subscribers should probably be
  582.          considered as individuals, rather than an organization.
  583.          Firewalls for the whole organization may make little sense in
  584.          this case.
  585.  
  586.          To summarize, the benefit of a firewall depends upon the nature
  587.          of the organization it protects.  A firewall can be used to
  588.          extend the best available protection within the organization
  589.          across the entire organization, and thus be of benefit to large
  590.          organizations with large numbers of poorly administered hosts.
  591.          A firewall may produce little or no perceived benefit, however,
  592.          to the individuals within an organization who have strong host
  593.          perimeters already.
  594.  
  595.    3.2  Application-Layer Firewalls
  596.  
  597.       An application-layer firewall can be represented by the following
  598.       diagram.
  599.  
  600.           C <---> F <---> S
  601.  
  602.       Here the requesting client C opens its transport connection to the
  603.       firewall F rather than directly to the desired server S.  One
  604.       mechanism for redirecting C's request to F's IP address rather
  605.       than S's could be based on the DNS.  When C attempts to resolve
  606.       S's name, its DNS lookup would return a "service redirection"
  607.       record (analogous to an MX record) for S.  The service redirection
  608.       record would return the IP address of F.
  609.  
  610.       C enters some authentication conversation to identify itself to F,
  611.       and specifies its intention to request a specific service from S.
  612.       F then decides if C is authorized to invoke this service.  If C is
  613.       authorized, F initiates a transport layer connection to S and
  614.       begins the operation, passing requests and responses between C and
  615.  
  616.  
  617.  
  618. Braden, Clark, Crocker & Huitema                               [Page 11]
  619.  
  620. RFC 1636                  IAB Workshop Report                  June 1994
  621.  
  622.  
  623.       S.
  624.  
  625.       A major advantage of this scenario over an IP-layer firewall is
  626.       that raw IP datagrams are never passed through the firewall.
  627.       Because the firewall operates at the application layer, it has the
  628.       opportunity to handle and verify all data passing through it, and
  629.       it may be more secure against illicit rendezvous attacks (see
  630.       below).
  631.  
  632.       Application layer firewalls also have important disadvantages.
  633.       For full benefit, an application level firewall must be coded
  634.       specifically for each application.  This severely limits the
  635.       deployment of new applications.  The firewall also represents a
  636.       new point of failure; if it ceases to be reachable, the
  637.       application fails.  Application layer firewalls also may affect
  638.       performance more than IP-layer firewalls, depending on specific
  639.       mechanisms in use.
  640.  
  641.    3.3  IP-Layer Firewalls
  642.  
  643.       Our model of an IP-layer firewall is a multi-ported IP router that
  644.       applies a set of rules to each incoming IP datagram, to decide
  645.       whether it will be forwarded.  It is said to "filter" IP
  646.       datagrams, based on information available in the packet headers.
  647.  
  648.       A firewall router generally has a set of filtering rules, each of
  649.       which specifies a "packet profile" and an "action".  The packet
  650.       profile specifies values for particular header fields, e.g.,
  651.       source and destination IP address, protocol number, and other
  652.       suitable source and destination identifying information (for
  653.       instance, port numbers).  The set of possible information that may
  654.       be used to match packets is called an "association".  The exact
  655.       nature of an association is an open issue.
  656.  
  657.       The high-speed datagram forwarding path in the firewall processes
  658.       every arriving packet against all the packet profiles of all
  659.       active rules, and when a profile matches, it applies the
  660.       corresponding action.  Typical actions may include forwarding,
  661.       dropping, sending a failure response, or logging for exception
  662.       tracking.  There may be a default rule for use when no other rule
  663.       matches, which would probably specify a drop action.
  664.  
  665.       In addition to the packet profile, some firewalls may also use
  666.       some cryptographic information to authenticate the packet, as
  667.       described below in section 3.3.2.
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674. Braden, Clark, Crocker & Huitema                               [Page 12]
  675.  
  676. RFC 1636                  IAB Workshop Report                  June 1994
  677.  
  678.  
  679.       3.3.1  Policy Control Level
  680.  
  681.          This section presents a model for the control of a firewall
  682.          router, with some examples of specific mechanisms that might be
  683.          used.
  684.  
  685.          1.   A client C attempts to access a service S.  (Client here
  686.               can mean either a person or a process - that also is an
  687.               issue to be resolved.)
  688.  
  689.          2.   The initiation of access to that service may result in an
  690.               attempt to cross one or more boundaries of protection via
  691.               firewall router(s).
  692.  
  693.          3.   The policy control level sets filters in the firewall
  694.               router(s), to permit or deny that attempt.
  695.  
  696.          The policy control level consists of two distinct functions,
  697.          authentication and authorization.  Authentication is the
  698.          function of verifying the claimed identity of a user.  The
  699.          authentication function should be distributed across the
  700.          Internet, so that a user in one organization can be
  701.          authenticated to another organization.  Once a user is
  702.          authenticated, it is then the job of the authorization service
  703.          local to the resource being requested to determine if that user
  704.          is authorized to access that resource.  If authorization is
  705.          granted, the filter in the firewall can be updated to permit
  706.          that access.
  707.  
  708.          As an aid to understanding the issues, we introduce a
  709.          particular detailed mechanism.  We emphasize that this
  710.          mechanism is intended only as an illustrative example; actual
  711.          engineering of the mechanism will no doubt lead to many
  712.          changes.  Our mechanism is illustrated by the following sketch.
  713.          Here a user wishes to connect from a computer C behind firewall
  714.          F1, to a server S behind firewall F2.  A1 is a particular
  715.          authentication server and Z1 is a particular authorization
  716.          server.
  717.  
  718.                 C <-------> F1 <-------> F2 <-------> S
  719.                  \          /
  720.                   \_____   /
  721.                    \    \ /
  722.                     A1  Z1
  723.  
  724.          C attempts to initiate its conversation by sending an initial
  725.          packet to S.  C uses a normal DNS lookup to resolve S's name,
  726.          and uses normal IP routing mechanisms.  C's packet reaches
  727.  
  728.  
  729.  
  730. Braden, Clark, Crocker & Huitema                               [Page 13]
  731.  
  732. RFC 1636                  IAB Workshop Report                  June 1994
  733.  
  734.  
  735.          firewall router F1, which rejects the packet because it does
  736.          not match any acceptable packet profile.  F1 returns an
  737.          "Authentication Required" error indication to C, including a
  738.          list of authentication/authorization servers that F1 trusts.
  739.          This indication might be a new type of ICMP Destination
  740.          Unreachable packet, or some other mechanism for communicating
  741.          with C.
  742.  
  743.          When C receives the error indication, authenticates itself with
  744.          A1, one of the authentication servers listed in the error
  745.          indication, after validating A1's identity.  C then requests
  746.          authorization from server Z1 (using a ticket provided by A1),
  747.          informs Z1 of the application it wishes to perform, and
  748.          provides a profile for the packets it wishes to pass through
  749.          F1.  Z1 then performs an authorization function to decide
  750.          whether to allow C to penetrate F1.  If C is to be allowed, Z1
  751.          then informs the firewall F1 to allow packets matching the
  752.          packet profile to pass through the firewall F1.
  753.  
  754.          After C's packets penetrate F1, they may again be rejected by a
  755.          second firewall F2.  C could perform the same procedures with
  756.          authentication server A2 and authorization server Z2, which F2
  757.          trusts.  This is illustrated by the following schematic diagram
  758.          of the sequence of events.
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786. Braden, Clark, Crocker & Huitema                               [Page 14]
  787.  
  788. RFC 1636                  IAB Workshop Report                  June 1994
  789.  
  790.  
  791.  
  792.           ----------+--------+--------+------------+------------+----
  793.          |    C     |   A1   |   Z1   |    F1      |     F2     |  S
  794.           ----------+--------+--------+------------+------------+----
  795.          | Sends pkt|        |        |            |            |
  796.          | to S  ----------------------->Intercept;|            |
  797.          |          |        |        | requires   |            |
  798.          |          |        |        |authenticat'n            |
  799.          |   <-------------------------------      |            |
  800.          |Auth'cate |        |        |            |            |
  801.          | C to A1 ---->     |        |            |            |
  802.          |          |Provide |        |            |            |
  803.          |    <------- ticket|        |            |            |
  804.          | Request  |        |        |            |            |
  805.          |authoriz'n|        |        |            |            |
  806.          |   -------------------> Is C|            |            |
  807.          |          |        |allowed?|            |            |
  808.          |          |        |  OK --------->      |            |
  809.          |Resend    |        |        | Set filter |            |
  810.          | first pkt|        |        |            |            |
  811.          | to S -------------------------->(OK)------>Intercept;|
  812.          |          |        |        |            | requires   |
  813.          |          |        |        |            |authenticat'n
  814.          |  <-------------------------------------------        |
  815.          | (Repeat  |        |        |            |            |
  816.          |procedure |        |        |            |            |
  817.          with A2,Z2)|        |        |            |            |
  818.          |  ...     |        |        |            |            |
  819.          |Resend    |        |        |            |            |
  820.          | first pkt|        |        |            |            |
  821.          |   ------------------------------>(OK)--------(OK)------>
  822.          |          |        |        |            |            |
  823.          -----------+--------+--------+------------+------------+----
  824.  
  825.  
  826.          Again, we emphasize that this is only intended as a partial
  827.          sketch of one possible mechanism.  It omits some significant
  828.          issues, including the possibility of asymmetric routes (see
  829.          3.3.3 below), and the possibility that the profiles may be
  830.          different in the two directions between C and S.
  831.  
  832.          We could imagine generalizing this to an arbitrary sequence of
  833.          firewalls.  However, security requires that each of the
  834.          firewalls be able to verify that data packets actually come
  835.          from C.  This packet authentication problem, which is discussed
  836.          in the next section, could be extremely difficult if the data
  837.          must traverse more than one or possibly two firewalls in
  838.          sequence.
  839.  
  840.  
  841.  
  842. Braden, Clark, Crocker & Huitema                               [Page 15]
  843.  
  844. RFC 1636                  IAB Workshop Report                  June 1994
  845.  
  846.  
  847.          A firewall router may require re-authentication because:
  848.  
  849.          *    it has been added to the path by a routing change, or
  850.  
  851.          *    it has timed out the profile entry, or
  852.  
  853.          *    it has been newly re-activated, perhaps after a crash that
  854.               lost its list of acceptable profiles.
  855.  
  856.          If C contacts authentication and authorization servers that S
  857.          trusts, C may utilize tickets given it by these servers when
  858.          initiating its use of S, and avoid re-authenticating itself to
  859.          S.
  860.  
  861.          Although the authentication server A1 and the authorization
  862.          server Z1 are conceptually separate, they may run on the same
  863.          computer or router or even be separate aspects of a single
  864.          program.  The protocol that C speaks to an An, the protocol
  865.          that C speaks to a Zn, and the protocol that Zn speaks to Fn
  866.          are not specified in these notes.  The authentication mechanism
  867.          used with An and the packet profile required by a firewall Fn
  868.          are considered matters of policy.
  869.  
  870.       3.3.2  Source Authentication
  871.  
  872.          We next consider how to protect against spoofing the IP source
  873.          address, i.e., injecting packets that are alleged from come
  874.          from C but do not.  There are three classes of mechanisms to
  875.          prevent such spoofing of IP-level firewalls.  The mechanisms
  876.          outlined here are also discussed in Section 4.3 below.
  877.  
  878.          o    Packet Profile Only
  879.  
  880.               The lowest level of security consists of allowing the IP-
  881.               layer firewall to filter packets purely on the basis of
  882.               the packet profile.  This is essentially the approach used
  883.               by filtering routers today, with the addition of (1)
  884.               authentication and authorization servers to control the
  885.               filtering profiles, and (2) the automatic "Authentication
  886.               Required" notification mechanism.  This approach provides
  887.               almost no security; it does not prevent other computers
  888.               from spoofing packets that appear to be transmitted by C,
  889.               or from taking over C's transport level connection to S.
  890.  
  891.          o    Sealed Packets
  892.  
  893.               In the second level of security, each packet is "sealed"
  894.               with a secure hash algorithm.  An authentication server Ai
  895.  
  896.  
  897.  
  898. Braden, Clark, Crocker & Huitema                               [Page 16]
  899.  
  900. RFC 1636                  IAB Workshop Report                  June 1994
  901.  
  902.  
  903.               chooses a secret and shares it with the source host S and
  904.               also with the authorization server Zi, which shares the
  905.               secret with the firewall Fi.  Every packet that C
  906.               transmits contains a hash value that depends upon both the
  907.               contents of the packet and the secret value.  The firewall
  908.               Fi can compute the same hash function and verify that the
  909.               packet was originated by a computer that knew the shared
  910.               secret.
  911.  
  912.               This approach does raise issues of how much C trusts Zi
  913.               and Fi.  Since they know C's secret, Zi or Fi could spoof
  914.               C.  If C does not trust all Z's and F's in its path, a
  915.               stronger mechanism (see below) is needed.
  916.  
  917.               A more difficult problem arises in authenticating C's
  918.               packets when more than one firewall lies in the path.
  919.               Carrying a separate seal for each firewall that is
  920.               penetrated would be costly in terms of packet size.  On
  921.               the other hand, in order to use a single seal, all the
  922.               firewalls would have to cooperate, and this might require
  923.               a much more complex mechanism than the one sketched in the
  924.               previous section.  Morever, it may require mutual trust
  925.               among all of the authentication servers Ai and
  926.               authorization servers Zi; any of these servers could
  927.               undermine all the others.  Another possibility to be
  928.               investigated is to use hop-by-hop rather than end-to-end
  929.               authentication of C's packets.  That is, each firewall
  930.               would substitute into the packet the hash needed by the
  931.               next firewall.
  932.  
  933.               Multi-firewall source authentication is a difficult
  934.               problem that needs more investigation.
  935.  
  936.          o    Packet Signatures
  937.  
  938.               In the third level of security, each packet is "signed"
  939.               using a public/private key algorithm.  C shares its public
  940.               key with Zn, which shares it with Fn.  In this scenario, C
  941.               can safely use one pair of keys for all authorization
  942.               servers and firewalls.  No authorization server or
  943.               firewall can spoof C because they cannot sign packets
  944.               correctly.
  945.  
  946.               Although packet signing gives a much higher level of
  947.               security, it requires public key algorithms that are
  948.               patented and currently very expensive to compute; their
  949.               time must be added to that for the hash algorithm.  Also,
  950.               signing the hash generally makes it larger.
  951.  
  952.  
  953.  
  954. Braden, Clark, Crocker & Huitema                               [Page 17]
  955.  
  956. RFC 1636                  IAB Workshop Report                  June 1994
  957.  
  958.  
  959.       3.3.3 Other Firewall Issues
  960.  
  961.          o    Performance
  962.  
  963.               An Internet-layer firewall has the advantage of generality
  964.               and flexibility.  However, filtering introduces a
  965.               potential performance problem.  Performance may depend
  966.               upon the number and position of the packet fields used for
  967.               filtering, and upon the number of rules against which a
  968.               packet has to be matched.
  969.  
  970.               Denial of service attacks require that the per-packet rule
  971.               matching and the drop path be able to keep up with the
  972.               interface speed.
  973.  
  974.          o    Multicasting
  975.  
  976.               To allow multicast traffic to penetrate a firewall, the
  977.               rule that is needed should be supplied by the receiver
  978.               rather than the sender.  However, this will not work with
  979.               the challenge mechanism outlined in Section 3.3.1, since
  980.               "Authentication Required" notifications would be sent to
  981.               the sender, not to the receiver(s).
  982.  
  983.               Multicast conversations may use any of the three levels of
  984.               security described in the previous section, but all
  985.               firewalls will have to share the same secret with the
  986.               originator of the data stream.  That secret would have to
  987.               be provided to the receivers through other channels and
  988.               then passed to the firewalls at the receivers' initiative
  989.               (in much the same way that resources are reserved at
  990.               receiver's initiative in RSVP).
  991.  
  992.          o    Asymmetric Routing
  993.  
  994.               Given a client computer C utilizing a service from another
  995.               computer C through a firewall F: if the packets returning
  996.               from S to C take a different route than packets from C to
  997.               S, they may encounter another firewall F' which has not
  998.               been authorized to pass packets from S to C (unlike F,
  999.               which has been).  F' will challenge S rather than C, but S
  1000.               may not have credentials to authenticate itself with a
  1001.               server trusted by F'.
  1002.  
  1003.               Fortunately, this asymmetric routing situation is not a
  1004.               problem for the common case of single homed administrative
  1005.               domains, where any asymmetric routes converge at the
  1006.               firewall.
  1007.  
  1008.  
  1009.  
  1010. Braden, Clark, Crocker & Huitema                               [Page 18]
  1011.  
  1012. RFC 1636                  IAB Workshop Report                  June 1994
  1013.  
  1014.  
  1015.          o    Illicit Rendezvous
  1016.  
  1017.               None of these mechanisms prevent two users on opposite
  1018.               sides of a firewall from rendezvousing with a custom
  1019.               application written over a protocol that may have been
  1020.               authorized to run through a firewall.
  1021.  
  1022.               For example, if an organization has a policy that certain
  1023.               information is sensitive and must not be allowed outside
  1024.               its premises, a firewall will not be enough to enforce
  1025.               this policy if users are able to attach sensitive
  1026.               information to mail and send it outside to arbitrary
  1027.               parties.  Similarly, a firewall will not prevent all
  1028.               problems with incoming data.  If users import programs and
  1029.               execute them, the programs may have Trojan horses which
  1030.               disclose sensitive information or modify or delete
  1031.               important data.  Executable code comes in many, many
  1032.               forms, including PostScript files, scripts for various
  1033.               interpreters, and even return addresses for sendmail.  A
  1034.               firewall can detect some of these and scan for some forms
  1035.               of potentially hazardous code, but it cannot stop users
  1036.               from transforming things that look like "data" into
  1037.               programs.
  1038.  
  1039.               We consider these problems to be somewhat outside the
  1040.               scope of the firewall router mechanism.  It is a matter of
  1041.               the policies implemented by the organization owning the
  1042.               firewalls to address these issues.
  1043.  
  1044.          o    Transparency for Security Packets
  1045.  
  1046.               For the mechanisms described above to operate, the
  1047.               "Authentication Required" notification and the
  1048.               authentication/authorization protocol that is used between
  1049.               the client computer and the authentication and
  1050.               authorization servers trusted by a firewall, must be
  1051.               passed by all firewalls automatically.  This might be on
  1052.               the basis of the packet profiles involved in security.
  1053.               Alternatively, firewall routers might serve as
  1054.               application-layer firewalls for these types of
  1055.               communications.  They could then validate the data they
  1056.               pass to avoid spoofing or illicit rendezvous.
  1057.  
  1058.       3.3.4 Firewall-Friendly Applications
  1059.  
  1060.          Firewall routers have problems with certain communication
  1061.          patterns where requests are initiated by the server, including
  1062.          callbacks and multiple connections (e.g., FTP).  It was
  1063.  
  1064.  
  1065.  
  1066. Braden, Clark, Crocker & Huitema                               [Page 19]
  1067.  
  1068. RFC 1636                  IAB Workshop Report                  June 1994
  1069.  
  1070.  
  1071.          suggested that it would be useful to have guidelines to
  1072.          application designers to help them to build 'firewall-friendly
  1073.          applications'.  The following guidelines were suggested:
  1074.  
  1075.          1)   no inbound calls (the xterm problem),
  1076.  
  1077.          2)   fixed port numbers (no portmapper or tcpmux),
  1078.  
  1079.          3)   integral redirection is good (application gateways),
  1080.  
  1081.          4)   no redirection in the protocol,
  1082.  
  1083.          5)   32 bit sequence numbers that are crypto-strong random #'s,
  1084.               and
  1085.  
  1086.          6)   fixed length and number of header fields.
  1087.  
  1088.          Type fields are good, but they may not be needed if there are
  1089.          fixed port numbers.
  1090.  
  1091.       3.3.5  Conclusions
  1092.  
  1093.          Compared to an application-layer firewall, an IP-layer firewall
  1094.          scheme could provide a number of benefits:
  1095.  
  1096.          -    No extra authentication is required for end hosts.
  1097.  
  1098.          -    A single authentication protocol can be used for all
  1099.               intended applications.
  1100.  
  1101.          -    An IP-layer firewall causes less performance degradation.
  1102.  
  1103.          -    An IP-layer firewall may be able to crash and recover
  1104.               state without disturbing open TCP connections.
  1105.  
  1106.          -    Routes can shift without disturbing open TCP connections.
  1107.  
  1108.          -    There is no single point of failure.
  1109.  
  1110.          -    It is independent of application.
  1111.  
  1112.          However, there are substantial difficult design issues to be
  1113.          solved, particularly in the areas of multiple firewalls,
  1114.          assymmetric routes, multicasting, and performance.
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122. Braden, Clark, Crocker & Huitema                               [Page 20]
  1123.  
  1124. RFC 1636                  IAB Workshop Report                  June 1994
  1125.  
  1126.  
  1127. 4. SECURE QOS FORWARDING
  1128.  
  1129.    When the Internet supports special qualities-of-service (QOS) for
  1130.    particular packet flows, there will be a new set of security
  1131.    problems.  There will be a need to authenticate and authorize users
  1132.    asking for those QOS values that are expensive in network resources,
  1133.    and it will be necessary to prevent theft of these resources and
  1134.    denial-of-service attacks by others.  This section contains a
  1135.    conceptual model for these problems, which we may call secure QOS
  1136.    forwarding.  The issues here differ from end-to-end security and
  1137.    firewalls, because QOS forwarding security may need to be enforced at
  1138.    every router along a path.
  1139.  
  1140.    It was noted that this is not a new problem; it was stated and solved
  1141.    in a theoretical way in a thesis by Radia Perlman.
  1142.  
  1143.    4.1  The Requirement for Setup
  1144.  
  1145.       Setup is an essential part of any QOS mechanism.  However, it may
  1146.       be argued that there are also good engineering reasons for setup
  1147.       in any Internet-layer security mechanism, even without QOS
  1148.       support.  In the abstract, one could imagine a pure datagram model
  1149.       in which each IP packet separately carried the necessary
  1150.       authorizations for all the stages in the forwarding path.
  1151.       Realistically, this is not practical, since the security
  1152.       information may be both unacceptably large and computationally
  1153.       demanding for inclusion in every packet.  This seems to imply the
  1154.       need for some form of state setup for security.
  1155.  
  1156.       Thus, we presume a two stage process that moves somewhat away from
  1157.       the pure datagram model.  In the first stage, the setup stage,
  1158.       some state is established in the routers (and other network
  1159.       elements) that describes how a subsequent stream of packets is to
  1160.       be treated.  In the second stage, the classification stage, the
  1161.       arriving packets are matched with the correct state information
  1162.       and processed.  The terminology in use today calls these different
  1163.       state descriptions "classes", and the process of sorting
  1164.       "classification".
  1165.  
  1166.       Setup can take many forms.  It could be dynamic, invoked across
  1167.       the network by an application as described above.  The setup
  1168.       process could also be the manual configuration of a router by
  1169.       means of a protocol such as SNMP or remote login.  For example, a
  1170.       network link, such as a link across the Atlantic, might be shared
  1171.       by a number of users who purchase it jointly.  They might
  1172.       implement this sharing by configuring a router with
  1173.       specifications, or filters, which describe the sorts of packets
  1174.       that are permitted to use each share.  Whether the setup is
  1175.  
  1176.  
  1177.  
  1178. Braden, Clark, Crocker & Huitema                               [Page 21]
  1179.  
  1180. RFC 1636                  IAB Workshop Report                  June 1994
  1181.  
  1182.  
  1183.       dynamic or manual, short-lived or semi-permanent, it has the same
  1184.       effect: it creates packet classes in the router and defines how
  1185.       packets are to be classified as they arrive.
  1186.  
  1187.       Much of the current research on extensions to IP for QOS, such as
  1188.       realtime service, has assumed an explicit setup phase and a
  1189.       classification stage.  The setup stage is accomplished using
  1190.       protocols such as RSVP or ST-II, which also specify how the
  1191.       subsequent classification is to be done.  Security at the setup
  1192.       stage would thus simply be an extension to such a protocol.  It
  1193.       should be noted that there are alternative proposals for realtime
  1194.       QOS, based on an implicit setup process.
  1195.  
  1196.    4.2  Securing the Setup Process.
  1197.  
  1198.       To secure the setup process, we require that a setup request be
  1199.       accompanied by user credentials that provide a trustworthy
  1200.       assurance that the requester is known and is authorized to make
  1201.       the request in question.  We refer to the credentials used in the
  1202.       setup phase as the high-level identification (HLID).
  1203.  
  1204.       A simple version of this authorization would be a password on the
  1205.       management interface to a router (the limitations of such a
  1206.       password scheme are well known and not the issue here).  In the
  1207.       case of setup requests made by individual applications, some
  1208.       user-specific authorization must be assumed.
  1209.  
  1210.       While there could be any number of ways to organize the HLIDs, the
  1211.       objective of scaling suggests that a global framework for user
  1212.       naming and authentication would be useful.  The choice of naming
  1213.       framework is discussed further in Section 5.  Note that this
  1214.       discussion, which concerns controlling access to network resources
  1215.       and security devices, is distinct from end-to-end authentication
  1216.       and access control; however, the same authentication
  1217.       infrastructure could be used for both.
  1218.  
  1219.       In general, while significant engineering effort will be required
  1220.       to define a setup architecture for the Internet, there is no need
  1221.       to develop new security techniques.  However, for the security
  1222.       aspects of the classification process, there are significant
  1223.       problems related to performance and cost.  We thus focus on that
  1224.       aspect of the overall framework in more detail.
  1225.  
  1226.       Above, we defined the high-level ID (HLID) as that set of
  1227.       information presented as part of a setup request.  There may also
  1228.       be a "low-level ID" (LLID), sometimes called a "cookie", carried
  1229.       in each packet to drive classification.  In current proposals for
  1230.       IP extensions for QOS, packets are classified based on existing
  1231.  
  1232.  
  1233.  
  1234. Braden, Clark, Crocker & Huitema                               [Page 22]
  1235.  
  1236. RFC 1636                  IAB Workshop Report                  June 1994
  1237.  
  1238.  
  1239.       packet fields, e.g., source and destination addresses, ports, and
  1240.       protocol type.
  1241.  
  1242.       It is important to note that the LLID is distinct from the address
  1243.       of the user, at least conceptually.  By stressing this distinction
  1244.       we make the point that the privileges of the user are not
  1245.       determined by the address in use.  If the user's address changes,
  1246.       the privileges do not.
  1247.  
  1248.       The LLID in a packet acts as a form of tag that is used by some or
  1249.       all routers along a path to make decisions about the sort of QOS
  1250.       that shall be granted to this packet.  An LLID might refer to a
  1251.       data stream between a single source-destination address pair, or
  1252.       it might be more general and encompass a range of data streams.
  1253.       There is no requirement that the LLID embody a syntax that permits
  1254.       a router to discern the QOS parameters that it represents, but
  1255.       there also is no prohibition against imposing such a structure.
  1256.  
  1257.       We propose that an IP datagram contain one LLID, which can be used
  1258.       at various stages of the network to map the packet to a class.  We
  1259.       reject the alternative that the packet should have a variable
  1260.       number of LLIDs, each one for a different point in the net.
  1261.       Again, this is not just a security comment, but it has security
  1262.       implications.
  1263.  
  1264.       The attributes of the LLID should be picked to match as broad a
  1265.       range of requirements as possible.
  1266.  
  1267.       *    Its duration (discussed below) must match both the needs of
  1268.            the security protocol, balancing robustness and efficiency,
  1269.            and the needs of the application, which will have to deal
  1270.            with renewal of the setup when the LLID expires.  A useful
  1271.            end-node facility would be a service to renew setup requests
  1272.            automatically.
  1273.  
  1274.       *    The degree of trust must be high enough to meet the most
  1275.            stringent requirement we can reasonably meet.
  1276.  
  1277.       *    The granularity of the LLID structure must permit packet
  1278.            classification into classes fine-grained enough for any
  1279.            resource selection in the network.  We should therefore
  1280.            expect that each separate stream of packets from an
  1281.            application will have a distinct LLID.  There will be little
  1282.            opportunity for aggregating multiple streams under one LLID
  1283.            or one authenticator.
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290. Braden, Clark, Crocker & Huitema                               [Page 23]
  1291.  
  1292. RFC 1636                  IAB Workshop Report                  June 1994
  1293.  
  1294.  
  1295.    4.3  Validating an LLID
  1296.  
  1297.       At a minimum, it is necessary to validate the use of an LLID in
  1298.       context, i.e., to ensure that it is being asserted in an
  1299.       authorized fashion.  Unauthorized use of an LLID could result in
  1300.       theft of service or denial-of-service attacks, where packets not
  1301.       emitted by an authorized sender are accorded the QOS treatment
  1302.       reserved for that sender (or for a group of which the sender is a
  1303.       member).  Thus, use of an LLID should be authenticated by routers
  1304.       that make QOS decisions based on that LLID.  (Note that not all
  1305.       routers may "pay attention" to the LLID.)
  1306.  
  1307.       In principle, the validity of an LLID assertion needs to be
  1308.       checked on every packet, though not necessarily at every router;
  1309.       it may be possible to restrict the checks to security perimeters.
  1310.       At those routers that must validate LLIDs, there is an obvious
  1311.       concern over the performance impact.  Therefore, a router may
  1312.       adopt a less rigorous approach to LLID validation.  For example, a
  1313.       router may elect to sample a data stream and validate some, but
  1314.       not all, packets.  It may also elect to forward packets first and
  1315.       perform selective validation as a background activity.  In the
  1316.       least stringent approach, a router might log selected packets and
  1317.       validate them as part of an audit activity much later.
  1318.  
  1319.       There are several candidate techniques for validating the use of
  1320.       LLIDs.  We have identified three basic techniques, which differ in
  1321.       terms of computational performance, bandwidth overhead, and
  1322.       effectiveness (resistance to various forms of attack).
  1323.  
  1324.       *    Digital Signatures
  1325.  
  1326.            The first technique entails the use of public key
  1327.            cryptography and digital signatures.  The sender of each
  1328.            packet signs the packet (header and payload) by computing a
  1329.            one-way hash over the packet and transforming the hash value
  1330.            using a private key associated with the LLID.  The resulting
  1331.            authenticator value is included in the packet header.  The
  1332.            binding between the public key and the LLID is established
  1333.            through a connection setup procedure that might make use of
  1334.            public keys that enjoy a much longer lifetime.  Using public
  1335.            key technology yields the advantage that any router can
  1336.            validate a packet, but no router is entrusted with data that
  1337.            would enable it to generate a packet with a valid
  1338.            authenticator (i.e., which would be viewed as valid by other
  1339.            routers.)  This characteristic makes this technique ideal
  1340.            from the standpoint of the "principle of least privilege."
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346. Braden, Clark, Crocker & Huitema                               [Page 24]
  1347.  
  1348. RFC 1636                  IAB Workshop Report                  June 1994
  1349.  
  1350.  
  1351.            Public key cryptosystems such as RSA have the advantage that
  1352.            validation of a signature is much faster than signing, which
  1353.            reduces the router processing burden.  Nonetheless, this
  1354.            approach is not likely to be feasible for anything other than
  1355.            selective checking by routers, given current public key
  1356.            algorithm performance.
  1357.  
  1358.       *    Sealing
  1359.  
  1360.            The next technique is based on the use of the same type of
  1361.            one-way hash function used for digital signatures, but it
  1362.            does not require signing the hash value.  Here the sender
  1363.            computes a one-way hash with a secret quantity (essentially a
  1364.            "key") appended to the packet.  This process is an example of
  1365.            what is sometimes referred to more generically as
  1366.            cryptographic "sealing."  The inclusion of this key at the
  1367.            end of the hash computation results in a hash value that is
  1368.            not predictable by any entity not possessing the key.  The
  1369.            resulting hash value is the authenticator and is included in
  1370.            the packet header.  A router validates a packet by
  1371.            recomputing the hash value over the received packet with the
  1372.            same secret quantity appended.  If the transmitted hash value
  1373.            matches the recomputed hash value, the packet is declared
  1374.            valid.  Unlike the signature technique, sealing implies that
  1375.            all routers capable of verifying a seal are also capable of
  1376.            generating (forging) a seal.  Thus, this technique requires
  1377.            that the sender trust the routers not to misuse the key.
  1378.  
  1379.            This technique has been described in terms of a single secret
  1380.            key shared between the sender and all the routers that need
  1381.            to validate packets associated with an LLID.  A related
  1382.            alternative strategy uses the same authenticator technique,
  1383.            but shares the secret key on a pairwise basis, e.g., between
  1384.            the sender and the first router, between the first router and
  1385.            the next, etc.  This avoids the need to distribute the secret
  1386.            key among a large group of routers, but it requires that the
  1387.            setup mechanism enable Router A to convince his neighbor
  1388.            (Router B) that Router A is authorized to represent traffic
  1389.            on a specific LLID or set of LLIDs.  This might best be done
  1390.            by encapsulating the packet inside a wrapper that both ends
  1391.            of the link can validate.  Once this strategy is in place, it
  1392.            may even be most efficient for routers to aggregate traffic
  1393.            between them, providing authentication not on a per-LLID
  1394.            basis, since the router pairs are prepared to "trust" one
  1395.            another to accurately represent the data stream LLIDs.
  1396.  
  1397.            For a unicast data stream, the use of pairwise keying between
  1398.            routers does not represent a real change in the trust
  1399.  
  1400.  
  1401.  
  1402. Braden, Clark, Crocker & Huitema                               [Page 25]
  1403.  
  1404. RFC 1636                  IAB Workshop Report                  June 1994
  1405.  
  1406.  
  1407.            required of the routers or of the setup mechanism, because of
  1408.            the symmetric sharing of the secret key.  However, for a
  1409.            multicast connection, this pairwise keying approach is
  1410.            superior in that it prevents a router at one point in a
  1411.            multicast tree from being able to generate traffic that could
  1412.            be inserted at another point in the tree.  At worst, a router
  1413.            can generate spurious, but authenticatable, traffic only for
  1414.            routers "below" it in the multicast tree.
  1415.  
  1416.            Note that the use of network management fault isolation
  1417.            techniques, e.g., sampling router traffic statistics at
  1418.            different points along a data stream, should permit post hoc
  1419.            detection of packet forgery attacks mounted by rogue routers
  1420.            along a data stream path.  Use of this technique could
  1421.            provide a deterrent to such activity by routers, further
  1422.            arguing for the pairwise keying approach.
  1423.  
  1424.            The sealing technique is faster than the digital signature
  1425.            technique, because the incremental hash calculation
  1426.            (including the appended secret quantity) is much faster than
  1427.            the cryptographic transformation required to sign a hash.
  1428.            The processing burden is symmetric here, i.e., the sender and
  1429.            each router devote the same amount of processing power to
  1430.            seal a packet and to verify the seal.  Also, a sealed hash
  1431.            may be smaller than a signed hash, even if the same function
  1432.            is used in both cases.  (This is because the modulus size of
  1433.            the public key signature algorithm and any ancillary
  1434.            parameters tend to increase the size of the signed hash
  1435.            value.)  Moreover, one could use a hash function with a
  1436.            "wide" value and truncate that value, if necessary to reduce
  1437.            overhead; this option is not available when the authenticator
  1438.            is a signed hash value.
  1439.  
  1440.            As a variant on this technique, one could imagine a
  1441.            "clearinghouse" that would receive, from the sender, the
  1442.            secret key used to generate and validate authenticators.  A
  1443.            router needing to validate a packet would send a copy of the
  1444.            packet to the clearinghouse, which would check the packet and
  1445.            indicate to the router whether it was a valid packet
  1446.            associated with the LLID in question.  Obviously, this
  1447.            variant is viable only if the router is performing
  1448.            infrequent, selective packet validation.  However, it does
  1449.            avoid the need to share the authenticator secret among all
  1450.            the routers that must validate packets.
  1451.  
  1452.            For both of these techniques, there is a residual
  1453.            vulnerability to denial-of-service attacks based on replay of
  1454.            valid packets during the lifetime of a data stream.  Unless
  1455.  
  1456.  
  1457.  
  1458. Braden, Clark, Crocker & Huitema                               [Page 26]
  1459.  
  1460. RFC 1636                  IAB Workshop Report                  June 1994
  1461.  
  1462.  
  1463.            packets carry sequence numbers and routers track a sequence
  1464.            number window for each data stream, an (external) attacker
  1465.            can copy valid packets and replay them.  It may be easiest to
  1466.            protect against this form of attack by aggregating all
  1467.            traffic between a pair of routers into a single flow and
  1468.            providing replay protection for the flow as a whole, rather
  1469.            than on a per data stream basis.
  1470.  
  1471.       *    Temporary Passwords
  1472.  
  1473.            The final technique explored in the workshop takes a very
  1474.            different tack to packet validation.  The preceding
  1475.            techniques compute a function of the bits in a packet and
  1476.            transform that value in a fashion that prevents an intruder
  1477.            from generating packets with valid authenticators.  The
  1478.            ability to generate packets with valid authenticators for a
  1479.            given LLID requires access to a secret value that is
  1480.            available only to the sender, or to the sender and to routers
  1481.            participating in a given data stream.
  1482.  
  1483.            In contrast, this third technique calls for the authenticator
  1484.            to be a short term, secret quantity that is carried in the
  1485.            packet header, without benefit of further protection.  In
  1486.            essence, this technique incorporates a short term "password"
  1487.            into each packet header.  This approach, like its
  1488.            predecessor, requires that all of the routers validating the
  1489.            LLID be privy to this authenticator.  Moreover, the
  1490.            authenticator is visible to any other router or other
  1491.            equipment along the path, and thus this technique is much
  1492.            more vulnerable than the previous ones.
  1493.  
  1494.            Here the same authenticator may be applied to all packets
  1495.            with the same LLID, since the authenticator is not a function
  1496.            of the packet it authenticates.  In fact, this suggests that
  1497.            it is feasible to use the LLID as the authenticator.
  1498.            However, adopting this tack would not be consistent with the
  1499.            two previous techniques, each of which requires an explicit,
  1500.            separate authenticator, and so we recommend against this
  1501.            optimization.
  1502.  
  1503.            Nonetheless, the fact that the authenticator is independent
  1504.            of the packet context makes it trivial to generate (forge)
  1505.            apparently authentic packets if the authenticator is
  1506.            intercepted from any legitimate packet.  Also, if the
  1507.            authenticator can be guessed, an attacker need not even
  1508.            engage in passive wiretapping to defeat this scheme.  This
  1509.            latter observation suggests that the authenticator must be of
  1510.            sufficient size to make guessing unlikely, and making the
  1511.  
  1512.  
  1513.  
  1514. Braden, Clark, Crocker & Huitema                               [Page 27]
  1515.  
  1516. RFC 1636                  IAB Workshop Report                  June 1994
  1517.  
  1518.  
  1519.            LLID and the authenticator separate further supports this
  1520.            requirement.
  1521.  
  1522.            The major advantage of this approach is one of performance.
  1523.            The authenticator can be validated very quickly through a
  1524.            simple comparison.  Consistent with the need to protect
  1525.            against guessing attacks, the authenticator need not consume
  1526.            a significant amount of space in the packet header.
  1527.  
  1528.            The use of a sequence number visible to the routers is an
  1529.            interesting technique to explore to make these somewhat
  1530.            vulnerable methods more robust.  If each stream (each source
  1531.            of packets) numbers its packets, then an intruder attempting
  1532.            to use the network resource must delete the legitimate
  1533.            packets, which in many cases would be difficult.  Otherwise,
  1534.            the router being attacked would notice duplicate sequence
  1535.            numbers and similar anomalies.  The exact details of the
  1536.            numbering would have to be worked out, since for the
  1537.            legitimate stream packets might be lost, which would cause
  1538.            holes in the sequence space.
  1539.  
  1540.       We do not consider here the issues of collusion, in which a user
  1541.       with a given LLID and authenticator deliberately shares this with
  1542.       another unauthorized user.  This possibility should be explored,
  1543.       to see if there is a practical advantage to this act, and thus a
  1544.       real threat.
  1545.  
  1546.    4.4  Dynamics of Setup
  1547.  
  1548.       o    Duration of LLID's
  1549.  
  1550.            A key question in the use of LLIDs is how long they remain
  1551.            valid.  At one extreme, they last only a very short time,
  1552.            perhaps seconds.  This limits the damage that can be done if
  1553.            the authenticator for the LLID is stolen.  At the other
  1554.            extreme, LLIDs are semi-permanent, like credit card numbers.
  1555.            The techniques proposed above for securing the LLID traded
  1556.            strength for efficiency, under the assumption that the peril
  1557.            was limited by the limited validity of the LLID.
  1558.  
  1559.            The counterbalancing advantage of long-term or semi-permanent
  1560.            LLIDs is that it becomes practical to use primitive setup
  1561.            techniques, such as manual configuration of routers to
  1562.            establish packet classes.  This will be important in the
  1563.            short run, since deployment of security and dynamic resource
  1564.            allocation protocols may not exactly track in time.
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570. Braden, Clark, Crocker & Huitema                               [Page 28]
  1571.  
  1572. RFC 1636                  IAB Workshop Report                  June 1994
  1573.  
  1574.  
  1575.            We conclude that the correct short-term action is to design
  1576.            LLIDs under the assumption that they are fairly short lived,
  1577.            and to tolerate, in the short run, a longer period of
  1578.            validity.  This would imply that we will get an acceptable
  1579.            long-term mechanism in place, which operationally will have a
  1580.            lower level of security at first.  As we get better tools for
  1581.            automatic setup, we can shorten the duration of validity on a
  1582.            individual basis, without replacing mechanism in the packet
  1583.            forwarding path.
  1584.  
  1585.       o    Setup Latency
  1586.  
  1587.            The tradition of the Internet is not to impose any setup
  1588.            latency in the communication path between end nodes.  This
  1589.            supports the classic datagram model for quick transactions,
  1590.            etc., and it is a feature that should be preserved.
  1591.  
  1592.            For setup that is done "in advance", either through a
  1593.            management interface or by an end-node in the background, the
  1594.            issue of latency does not arise.  The latency issue occurs
  1595.            for dynamic reservations made in response to a specific
  1596.            application request.
  1597.  
  1598.            We observe that while latency is a key issue, it is not
  1599.            materially influenced by security concerns.  The designers of
  1600.            resource reservation protocols such as RSVP and ST-II are
  1601.            debating the latency of these protocols today, absent
  1602.            security.  Adding an authenticator to the request message
  1603.            will increase the processing needed to validate the request,
  1604.            and might even imply a message exchange with an
  1605.            authentication service, but should not substantially change
  1606.            the real time of the setup stage, which might already take
  1607.            time on the order of a round-trip delay.  But the design of
  1608.            the high level authentication and authorization methods for
  1609.            the setup protocol should understand that this process, while
  1610.            not demanding at the level of the per-packet processing, is
  1611.            still somewhat time-critical.
  1612.  
  1613.            One way of dealing with an expensive setup process is to set
  1614.            up the request provisionally and perform the validation in
  1615.            the background. This would limit the damage from one bad
  1616.            setup request to a short period of time.  Note, however, that
  1617.            the system is still vulnerable to an attack that uses a
  1618.            sequence of setup requests, each of which allows unauthorized
  1619.            usage for at least a short period of time.
  1620.  
  1621.            Note also that a denial-of-service attack can be mounted by
  1622.            flooding the setup process with invalid setup requests, all
  1623.  
  1624.  
  1625.  
  1626. Braden, Clark, Crocker & Huitema                               [Page 29]
  1627.  
  1628. RFC 1636                  IAB Workshop Report                  June 1994
  1629.  
  1630.  
  1631.            of which need to be processed and rejected.  This could
  1632.            prevent a valid user from setting up any state.  However,
  1633.            denial-of-service attacks based upon flooding leave very
  1634.            large "finger prints"; they should not normally be an
  1635.            important threat.  If it is a problem, it may be possible to
  1636.            incorporate a mechanism at the level of setup processing that
  1637.            is equivalent to "fair queueing", to limits the damage from a
  1638.            flooding attack at the packet level.
  1639.  
  1640.    4.5  Receiver-Initiated Setup
  1641.  
  1642.       Recent work on a QOS extension for the Internet, embodied in the
  1643.       RSVP protocol, uses the model that the receiver will reserve
  1644.       resources.  This scheme is consistent with the current IP
  1645.       multicast paradigm, which requires the receiver to join the
  1646.       multicast group.  The receiver reserves the resources to insure
  1647.       that the multicast traffic reaches the receiver with the desired
  1648.       QOS.  In this case, it is the credentials (the HLIDs) of the
  1649.       receivers that will be presented to the setup phase.
  1650.  
  1651.       Note that receiver initiation requires an explicit setup phase.
  1652.       Suppose setup were implicit, driven by pre-existing fields in the
  1653.       packet.  Then there would be no way to associate a packet with a
  1654.       particular receiver, since in multicast, the address of the
  1655.       receiver never appears in the packet.
  1656.  
  1657.       Further, it is impossible in this case to perform a setup "in
  1658.       advance", unless the sender and the receiver are very tightly co-
  1659.       ordinated; otherwise, the receiver will not know in advance what
  1660.       LLID will be in the packet.  It is certainly impossible, in this
  1661.       case, for the receiver to set up "semi-permanent" reservations for
  1662.       multicast traffic coming to it.  This, again, is not a security
  1663.       issue; the problem exists without adding security concerns, but
  1664.       the security architecture must take it into account.
  1665.  
  1666.    4.6  Other Issues
  1667.  
  1668.       4.6.1  Encrypting Firewalls and Bypass
  1669.  
  1670.          Our view of security, both end node and network protection,
  1671.          includes the use of firewalls, which partition the network into
  1672.          regions of more or less trust.  This idea has something in
  1673.          common with the encrypting-firewall model used in the
  1674.          military/intelligence community: red (trusted) networks
  1675.          partitioned from black (untrusted) networks.  The very
  1676.          significant difference is that, in the military model, the
  1677.          partition uses an encryption unit that encodes as much as
  1678.          possible of the packet for its trip across the black network to
  1679.  
  1680.  
  1681.  
  1682. Braden, Clark, Crocker & Huitema                               [Page 30]
  1683.  
  1684. RFC 1636                  IAB Workshop Report                  June 1994
  1685.  
  1686.  
  1687.          another red network.  That is, the purpose of the encryption
  1688.          unit, among others, is to provide a very high degree of
  1689.          protection against disclosure for data housed within the red
  1690.          networks.  In contrast, our version of a firewall is more to
  1691.          protect the trusted (red) region of the network from outside
  1692.          attacks.  It is concerned both with what comes in and with what
  1693.          goes out.  It does permit communication between a node on the
  1694.          trusted and nodes in the untrusted parts of the network.
  1695.  
  1696.          We would like to be able to adapt our model of secure QOS to
  1697.          the case of military-style encrypting firewalls.  However, this
  1698.          use of encryption raises a problem with our model of secure
  1699.          resource management, discussed above, which was based on a
  1700.          two-stage process of setup and classification.  This model is
  1701.          problematic because it requires information to pass from the
  1702.          red region to the black region in the clear.  This information
  1703.          includes both the setup packets themselves, if setup is done
  1704.          dynamically from the end node, and the classification fields
  1705.          (the LLIDs) in the data packets.  Obviously, this information
  1706.          cannot be encrypted when leaving the red region of the network,
  1707.          since it would then be meaningless to the black net, so that
  1708.          the black network would be unable to make resource allocation
  1709.          decisions based on it.
  1710.  
  1711.          To make this sort of control scheme work, it is necessary for
  1712.          the encryption device to be programmed to permit certain
  1713.          packets and fields in packets to pass through the encryptor in
  1714.          the clear.  This bypass of the encryption is considered highly
  1715.          undesirable.  In a high security situation, the process
  1716.          generating the bypassing information might be corrupted, with
  1717.          the result that information that should be controlled is
  1718.          removed from the secure network by hiding it in the bypassed
  1719.          fields of the packets.
  1720.  
  1721.          We concluded, however, that this bypass problem is not
  1722.          insurmountable.  The key idea, as in all cases of bypass, is to
  1723.          limit, rather than wholly outlaw, the information passing in
  1724.          the clear.  To limit the information needed for bypass, one can
  1725.          either perform the setup as a management function totally
  1726.          within the black environment, or divide the process into two
  1727.          stages.  The first stage, again totally in the black context,
  1728.          defines a limited number of setup situations.  The second stage
  1729.          involves sending from the red net a very small message that
  1730.          selects one request to be instantiated from among the pre-
  1731.          defined set.
  1732.  
  1733.          Perhaps the more difficult issue is the LLID in the packet
  1734.          header.  If the LLID is an explicit field (as we have discussed
  1735.  
  1736.  
  1737.  
  1738. Braden, Clark, Crocker & Huitema                               [Page 31]
  1739.  
  1740. RFC 1636                  IAB Workshop Report                  June 1994
  1741.  
  1742.  
  1743.          so far, but see below), it represents a new field in each
  1744.          packet, with perhaps as many as 32 bits.  Again, the solution
  1745.          is to limit the way this field can be used.  When the end-node
  1746.          performs a setup, it will specify the value of the LLID to be
  1747.          used.  This fact can be observed by the red/black encryption
  1748.          unit, which can then limit the components of this field to the
  1749.          values currently in use.  To further improve the situation, the
  1750.          encryption unit might be able to aggregate a number of flows
  1751.          onto one flow for the purpose of crossing the black net, which
  1752.          would permit a further reduction in the number of distinct
  1753.          LLIDs that must escape the red region.
  1754.  
  1755.          The details of this proposal, including some important issues
  1756.          such as the time duration of LLIDs in this case, must be
  1757.          considered further.  However, the initial conclusion that
  1758.          bypass can be incorporated into a general resource control
  1759.          framework is very encouraging, since it suggests that both
  1760.          military and commercial forms of security can be built out of
  1761.          the same building blocks.
  1762.  
  1763.       4.6.2  The Principle of Consistent Privilege
  1764.  
  1765.          A well understood principle of security is the principle of
  1766.          least privilege, which states that a system is most robust when
  1767.          it is structured to demand the least privilege from its
  1768.          components.
  1769.  
  1770.          A related rule we observe is the principle of consistent
  1771.          privilege.  This can be illustrated simply in the case of
  1772.          denial of service, where it is particularly relevant.  For a
  1773.          particular route, no assumption of service can be justified
  1774.          unless we trust the routers to deliver the packets.  If a
  1775.          router is corrupted and will not forward packets, the only
  1776.          solution is to find another route not involving this router.
  1777.          We do not concern ourselves here with protocols for finding new
  1778.          routes in the presence of a corrupted router, since this topic
  1779.          is properly part of another topic, securing the network
  1780.          infrastructure.  We only observe that either we will get
  1781.          service from the router or we will not.  If the router is
  1782.          corrupted, it does not matter how it chooses to attack us.
  1783.          Thus, as long as the router is part of a forwarding path (most
  1784.          generally a multicast forwarding tree), we should not hesitate
  1785.          to trust it in other ways, such as by giving it shared resource
  1786.          keys or LLID verifiers.
  1787.  
  1788.          This illustrates the principle of consistent privilege.  This
  1789.          principle is exploited in the scheme for hop-by-hop or pairwise
  1790.          use of secrets to validate LLIDs in a multicast tree.  If a
  1791.  
  1792.  
  1793.  
  1794. Braden, Clark, Crocker & Huitema                               [Page 32]
  1795.  
  1796. RFC 1636                  IAB Workshop Report                  June 1994
  1797.  
  1798.  
  1799.          single key is issued for the whole tree, then the privilege is
  1800.          not consistent.  We only need to trust a router with respect to
  1801.          the nodes "below" it in the tree.  If it fails to forward
  1802.          traffic, it can affect only those nodes.  But if we give it the
  1803.          group key, then it can generate bogus traffic and inject it
  1804.          into the tree at any point, affecting traffic for other parts
  1805.          of the tree.  If, on the other hand, we use pairwise keys, then
  1806.          a corrupt node can only generate bogus traffic with the key for
  1807.          traffic it would directly receive, which is the part of the
  1808.          tree it could damage anyway.
  1809.  
  1810.          Another requirement we must place on the network concerns
  1811.          routing.  If a firewall is in place, we must trust the routing
  1812.          architecture not to bypass that firewall.  One way to
  1813.          accomplish this is to eliminate any physical path between the
  1814.          regions other than those that go through the firewall.
  1815.          Operational experience will be required to see if this simple
  1816.          physical limit is an acceptable constraint.
  1817.  
  1818.       4.6.3  Implicit LLID's
  1819.  
  1820.          We stress the importance of a strong conceptual distinction
  1821.          between the addresses in a packet and the LLID which is used to
  1822.          classify the packet.  The conceptual distinction is important,
  1823.          but under limited circumstances it may be possible to overload
  1824.          some of the packet fields and create an LLID from the current
  1825.          packet header.  For example, current packet classifiers for
  1826.          IPv4, which are not secure but which seem to work for
  1827.          classifying the packets into service classes, use a number of
  1828.          the packet fields together as a form of LLID: the source and
  1829.          destination IP addresses and ports plus the protocol type.
  1830.  
  1831.          This sort of "implicit" LLID must be short-lived, especially if
  1832.          the host can change its IP address as it moves.  But if the
  1833.          LLID is established by some sort of dynamic setup protocol, it
  1834.          should be possible reestablish the LLID as needed.
  1835.  
  1836.          The current IPv4 header has no authenticator field to validate
  1837.          the LLID.  An authenticator field could be optionally carried
  1838.          in an option; adding it gives robustness to network
  1839.          reservations.  Any of the schemes described above for creating
  1840.          an authenticator could be used, except that if the simple
  1841.          password-style authenticator is used, it must be an explicit
  1842.          separate field, since the LLID cannot be picked randomly.
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850. Braden, Clark, Crocker & Huitema                               [Page 33]
  1851.  
  1852. RFC 1636                  IAB Workshop Report                  June 1994
  1853.  
  1854.  
  1855.       4.6.4  Security without Setup
  1856.  
  1857.          As we describe this architecture, the setup phase is an
  1858.          essential part of the sequence.  This suggests that the current
  1859.          Internet, which has no setup protocols, cannot be secured
  1860.          against denial-of-service attacks.  It is important to explore
  1861.          the limits of this point.  As we stressed above, setup can
  1862.          occur in many ways.  Routers today offer management options to
  1863.          classify packets based on protocol types and other fields found
  1864.          in the header, and to use this classification to create a few
  1865.          fair queueing classes that can prevent one class from
  1866.          overloading the net to the exclusion of the others.
  1867.  
  1868.          There are two problem here.  The first is that for a setup done
  1869.          using a management interface, the secret that is shared among
  1870.          the source and the routers to validate the LLID must remain
  1871.          valid for a long time, and it must be manually configured.  The
  1872.          second problem is that the granularity of the categories may be
  1873.          coarse.  However, it has been proposed, in a thesis by Radia
  1874.          Perlman, that a router might create a separate fair queueing
  1875.          class implicitly for each source address.  This approach, which
  1876.          uses the addresses as an implicit LLID, must have some form of
  1877.          authenticator for robustness.  But if the LLID can be trusted,
  1878.          this scheme provides classification of traffic based only on an
  1879.          implicit setup operation.  The granularity of classification is
  1880.          not sufficient to provide any QOS distinction.  The only
  1881.          objective is to prevent the traffic from one source from
  1882.          flooding the net to the exclusion of another.
  1883.  
  1884.       4.6.5  Validating Addresses
  1885.  
  1886.          We make a claim here that if the LLID and the addresses in the
  1887.          packet are conceptually distinct, and if there is a suitable
  1888.          means to validate the LLID, then there is no reason to validate
  1889.          the addresses.  For example, a packet constructed with a false
  1890.          source address does not seem to represent any security problem,
  1891.          if its LLID can be validated.
  1892.  
  1893.          An exception to this might possibly lie in communication with
  1894.          mobile hosts, but it will require a complete model of threats
  1895.          and requirements in the mobile environment to be sure.
  1896.          However, we make the claim, as a starting point for discussion,
  1897.          that if LLIDs are distinguished from addresses, many of the
  1898.          security concerns with mobility are mitigated and perhaps
  1899.          removed.  This point should be validated by more detailed
  1900.          consideration of the mobility problem.
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906. Braden, Clark, Crocker & Huitema                               [Page 34]
  1907.  
  1908. RFC 1636                  IAB Workshop Report                  June 1994
  1909.  
  1910.  
  1911.    4.6  Conclusions
  1912.  
  1913.       a)   It is important to conceptually separate a LLID (Low-Level
  1914.            IDentifier) carried in a packet from addresses in the packet.
  1915.  
  1916.       b)   There will be a single LLID carried in each packet.  Although
  1917.            this might imply some additional state in the routers than if
  1918.            multiple LLIDs were used, using only one LLID choice is more
  1919.            scalable.
  1920.  
  1921.       c)   Hop-by-hop LLID authentication mechanisms might provide a
  1922.            highly scalable approach that limits the distribution of
  1923.            secrets.  However, the robustness limitations must be
  1924.            investigated thoroughly.
  1925.  
  1926.       d)   Statistical sampling or after-the-fact detection mechanisms
  1927.            may be employed by routers to address performance concerns.
  1928.  
  1929. 5. AN AUTHENTICATION SERVICE
  1930.  
  1931.    The purpose of an authentication service is simply to verify names,
  1932.    or more precisely to verify the origin of "messages".  It differs
  1933.    from the authorization service, which determines what services are
  1934.    available to an authenticated name.  We expect that authentication
  1935.    will be an Internet-wide service, while authorization will be
  1936.    specific to the resources to which access is being authorized.
  1937.  
  1938.    This "identification" function can be used in several contexts, for
  1939.    example:
  1940.  
  1941.    *    One-time passwords: "it is really <huitema@inria.fr> that is
  1942.         responding to this challenge".
  1943.  
  1944.    *    Access to a firewall: "it is really <huitema@inria.fr> that is
  1945.         trying to send data to host-A at port-a".
  1946.  
  1947.    There are many Internet objects that we may want to name, e.g.,:
  1948.  
  1949.            domain names:   sophia.inria.fr
  1950.  
  1951.            machine names:  jupiter.inria.fr
  1952.  
  1953.            service names:  www.sophia.inria.fr
  1954.                            (in fact, a data base)
  1955.  
  1956.            users:          huitema@sophia.inria.fr
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962. Braden, Clark, Crocker & Huitema                               [Page 35]
  1963.  
  1964. RFC 1636                  IAB Workshop Report                  June 1994
  1965.  
  1966.  
  1967.            processes:      p112.huitema@sophia.inria.fr
  1968.                            p112.sophia.inria.fr
  1969.  
  1970.            universal resource locators:
  1971.                            http//www.sophia.inria.fr:222/tmp/foobar
  1972.  
  1973.    One could be tempted to believe that the authentication service will
  1974.    only be concerned with naming humans, as only humans are
  1975.    "responsible"; a process obtains some access rights because it is
  1976.    acting on behalf of a person.  However, this is too reductive and
  1977.    potentially misleading.  We may have to authenticate "machines" or
  1978.    hardware components.  For example:
  1979.  
  1980.    *    When a machine boots it needs to access resources for
  1981.         configuring itself, but it is not yet "used" by a person; there
  1982.         is no user.
  1983.  
  1984.    *    On a "distributed processor", component CPUs may need to
  1985.         authenticate each other.
  1986.  
  1987.    Machines do differ from users; machines cannot keep their "secrets"
  1988.    in the same way that people do.  However, there is a big value in
  1989.    having a simple and extensible name space.
  1990.  
  1991.    5.1  Names and Credentials
  1992.  
  1993.       We make the hypothesis that the authorization services will
  1994.       generally use "access control lists" (ACLs), i.e., some definition
  1995.       of a set of authorized users.  A compact way to represent such a
  1996.       set would be to allow "wildcard" authorizations, e.g., "anybody at
  1997.       <Bellcore.com>", or "any machine at <INRIA.FR>".  The
  1998.       authentication service should be designed to facilitate the
  1999.       realization of the authorization service and should support
  2000.       "wildcards".
  2001.  
  2002.       However, wildcards are not general enough.  Assuming that we have
  2003.       a hierarchical name space, a wildcarded entry is limited to the
  2004.       naming hierarchy.  For example, a name like
  2005.       <huitema@sophia.inria.fr> could be matched by the wildcard
  2006.       <*@sophia.inria.fr> or <*.inria.fr> or <*.fr>.  This is useful as
  2007.       long as one stays at INRIA, but does not solve the generic
  2008.       problem.  Suppose that an IETF file server at CNRI is to be
  2009.       accessible by all IAB members: its ACL will explicitly list the
  2010.       members by name.
  2011.  
  2012.       The classic approach to naming, as exemplified in the X.500 model,
  2013.       is to consider that people have "distinguished names".  Once one
  2014.       has discovered such a name through some "white pages" service, can
  2015.  
  2016.  
  2017.  
  2018. Braden, Clark, Crocker & Huitema                               [Page 36]
  2019.  
  2020. RFC 1636                  IAB Workshop Report                  June 1994
  2021.  
  2022.  
  2023.       use it as an access key in a global directory service.
  2024.  
  2025.       An individual may acquire authorizations from a variety of
  2026.       sources.  Using a pure, identity-based access control system, the
  2027.       user would have to acquire multiple identities (i.e.,
  2028.       distinguished names), corresponding to the roles in which she is
  2029.       authorized to access different services.  We discuss this approach
  2030.       in the next section.
  2031.  
  2032.       An alternative approach is for the user to have a very small
  2033.       number of identities, and to have the grantors of authorizations
  2034.       issue (signed) credentials granting permissions to the user,
  2035.       linked to her ID.  These additional signed credentials are known
  2036.       as "capabilities".  The user can then establish her identity
  2037.       through a generic identity credential, e.g., an X.509 certificate,
  2038.       and can establish authorization by presenting capabilities as
  2039.       required.  This is somewhat analogous to a person acquiring credit
  2040.       cards linked to the name on a driver's license, and presenting the
  2041.       appropriate credit card, plus the license for picture verification
  2042.       of identity.
  2043.  
  2044.    5.2  Identity-Based Authorization
  2045.  
  2046.       Let's open the wallet of an average person: we find several
  2047.       "credit cards" in it.  We all have many "credit cards", e.g.,
  2048.       company cards, credit cards, airline frequent flyers memberships,
  2049.       driver licenses.  Each of these cards is in fact a token asserting
  2050.       the existence of a relation: the bank certifies that checks
  2051.       presented by the bearer will be paid, the traffic authorities
  2052.       certifies that the bearer has learned how to drive, etc.  This is
  2053.       an example of identity-based authorization, in which an individual
  2054.       is given different names corresponding to different relations
  2055.       entered into by that individual.
  2056.  
  2057.       If we imagine that the name space is based upon DNS (domain)
  2058.       names, then for example, the person mentioned above could be
  2059.       authenticated with the names:
  2060.  
  2061.               customer@my-big-bank.com
  2062.  
  2063.               customer@frequent-flyer.airline.com
  2064.  
  2065.       The model we used here is that "the name is an association". This
  2066.       is consistent with name verification procedures, in which that one
  2067.       builds a "chain of trust" between the user and the "resource
  2068.       agent".  By following a particular path in the trust graph, one
  2069.       can both establish the trust and show that the user belongs to an
  2070.       "authorized group".
  2071.  
  2072.  
  2073.  
  2074. Braden, Clark, Crocker & Huitema                               [Page 37]
  2075.  
  2076. RFC 1636                  IAB Workshop Report                  June 1994
  2077.  
  2078.  
  2079.       The existence of "multiple names" for a person may or may not
  2080.       imply the existence of an "equivalence" relation.  It may be
  2081.       useful to know that <huitema@sophia.inria.fr> and
  2082.       <huitema@iab.isoc.org> are two names for the same person, but
  2083.       there are many cases where the user does not want to make all his
  2084.       tokens visible.
  2085.  
  2086.    5.3  Choosing Credentials
  2087.  
  2088.       Let's consider again the example of Christian Huitema accessing a
  2089.       file at CNRI.  He will have to interact with INRIA's outgoing
  2090.       firewall and with CNRI's incoming controls.  Regardless of whether
  2091.       authorization depends upon capabilities or upon multiple
  2092.       association names, a different credential may be needed in each
  2093.       firewall on the path.  For example, assuming multiple names are
  2094.       used, he will use an INRIA name, <huitema@sophia.inria.fr>, to be
  2095.       authorized by INRIA to use network resources, and he will use an
  2096.       IAB name, <huitema@iab.isoc.org>, to access the file server.  Thus
  2097.       comes an obvious problem: how does he choose the credential
  2098.       appropriate to a particular firewall?  More precisely, how does
  2099.       the computer program that manages the connection discover that it
  2100.       should use one credential in response to INRIA's firewall
  2101.       challenge and another in response to CNRI's request?
  2102.  
  2103.       There are many possible answers.  The program could simply pass
  2104.       all the user's credentials and let the remote machine pick one.
  2105.       This works, but poses some efficiency problems: passing all
  2106.       possible names is bulky, looking through many names is long.
  2107.       Advertising many names is also very undesirable for privacy and
  2108.       security reasons: one does not want remote servers to collect
  2109.       statistics on all the credentials that a particular user may have.
  2110.  
  2111.       Another possibility is to let the agent that requests an
  2112.       authorization pass the set of credentials that it is willing to
  2113.       accept, e.g., "I am ready to serve CNRI employees and IAB
  2114.       members".  This poses the same privacy and security problems as
  2115.       the previous solutions, although to a lesser degree.  In fact, the
  2116.       problem of choosing a name is the same as the generic "trust path"
  2117.       model.  The name to choose is merely a path in the authentication
  2118.       graph, and network specialists are expected to know how to find
  2119.       paths in graphs.
  2120.  
  2121.       In the short term, it is probably possible to use a "default name"
  2122.       or "principal name", at least for local transactions, and to count
  2123.       on the user to "guess" the credential that is required by remote
  2124.       services.  To leave the local environment we need only the local
  2125.       credentials; to contact a remote server we need only the
  2126.       destination credentials.  So we need one or maybe two credentials,
  2127.  
  2128.  
  2129.  
  2130. Braden, Clark, Crocker & Huitema                               [Page 38]
  2131.  
  2132. RFC 1636                  IAB Workshop Report                  June 1994
  2133.  
  2134.  
  2135.       which may be derived from the destination.  It will be very often
  2136.       the case that the generic credential is enough; then wildcards;
  2137.       then "FTP provided" tokens.
  2138.  
  2139. 6. OTHER ISSUES
  2140.  
  2141.    6.1  Privacy and Authentication of Multicast Groups
  2142.  
  2143.       Multicast applications are becoming an increasingly important part
  2144.       of Internet communications.  Packet voice, video and shared
  2145.       whiteboard can be powerful productivity tools for users.  For
  2146.       these applications to have maximum value to their users, a variety
  2147.       of security services will be required.
  2148.  
  2149.       Existing techniques are directly applicable to providing privacy
  2150.       for a private teleconference.  If each member of the conference
  2151.       shares a single key for a symmetric encryption algorithm (such as
  2152.       DES), existing point-to-point security techniques can be extended
  2153.       to protect communication within the group from outsiders.
  2154.  
  2155.       However, slight modifications to existing techniques are required
  2156.       to accommodate the multicast environment.  Each packet will
  2157.       require independent cryptographic processing to ensure that
  2158.       packets from multiple sources can be independently decrypted by
  2159.       the numerous receivers, particularly in the presence of lost
  2160.       packets.  N-party authentication and key management will be
  2161.       required to establish the shared key among the proper group
  2162.       members.  This can be done by extending existing two-party key
  2163.       management techniques pairwise.  For example, the conference
  2164.       manager may provide the key to each member following individual
  2165.       authentication; for example, this could be implemented trivially
  2166.       using PEM technology.  The overhead experienced by each host
  2167.       computer in the conference will be similar to that of existing
  2168.       point-to-point encryption applications,  This overhead is be low
  2169.       enough that, today, software encryption can offer adequate
  2170.       performance to secure whiteboard and voice traffic, while hardware
  2171.       encryption is adequate for video.
  2172.  
  2173.       The nature of multicast communication adds an additional
  2174.       requirement.  Existing multicast conferences provide gradual
  2175.       degradation in quality as the packet loss rate increases.  To be
  2176.       acceptable, authentication protocols must tolerate lost packets.
  2177.       Techniques to accomplish this efficiently need to be developed.
  2178.       One initial sketch is outlined below.  Engineering work will be
  2179.       required to validate the practicality of this approach.
  2180.  
  2181.  
  2182.  
  2183.  
  2184.  
  2185.  
  2186. Braden, Clark, Crocker & Huitema                               [Page 39]
  2187.  
  2188. RFC 1636                  IAB Workshop Report                  June 1994
  2189.  
  2190.  
  2191.       The use of symmetric encryption provides the members of the
  2192.       conference with effective protection from outsiders.  However,
  2193.       because all members of the conference share a single key, it does
  2194.       not provide a means of authenticating individual conference
  2195.       members.  In principle, existing techniques, based on one-way hash
  2196.       functions coupled with digital signatures based on asymmetric
  2197.       encryption algorithms, can provide individual authentication.
  2198.       One-way hash functions such as MD5 are comparable in cost to
  2199.       symmetric encryption.  However, digital signatures are
  2200.       considerably more costly, both in computation and in communication
  2201.       size.  The degree of overhead depends on the quality of
  2202.       authentication required.
  2203.  
  2204.       In summary, realtime authentication at the granularity of group
  2205.       membership is easy and cheap, but individual authentication is
  2206.       costly in time and space.  Over time, the costs of both
  2207.       communications and processing are expected to decline.  It is
  2208.       possible that this will help make authentication at the level of
  2209.       individual conference participants.  There are two conflicting
  2210.       trends:  (1) increasing CPU speeds to provide symmetric
  2211.       encryption, and (2) increasing communication data rates.  If both
  2212.       technologies increase proportionally, there will be no net gain,
  2213.       at least if the grain size is measured in terms of bits, rather
  2214.       than as a period in seconds.
  2215.  
  2216.       The group felt that the correct approach to end-to-end controls is
  2217.       the use of encryption, as discussed above.  The alternative is to
  2218.       control the ability of a user to join a multicast group as a
  2219.       listener, or as a speaker.  However, we are not comfortable with
  2220.       the level of assurance that we can offer if we attempt to ensure
  2221.       end-to-end semantics using these means.  Any passive penetration
  2222.       of the network, i.e., any wire-tap, can compromise the privacy of
  2223.       the transmitted information.  We must acknowledge, however, that
  2224.       problems with deployment of encryption code and hardware, and
  2225.       especially problems of export controls, will create a pressure to
  2226.       use the tools described in Section 4 to implement a form of end-
  2227.       to-end control.  Such a decision would raise no new issues in
  2228.       security technology.  The shared key now used for encrypting the
  2229.       data could instead be used as the basis for authenticating a
  2230.       multicast group join request.  This would require modification of
  2231.       the multicast packet format, but nothing more.  Our concern is not
  2232.       the technical difficulty of this approach, but the level of
  2233.       assurance we can offer the user.
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242. Braden, Clark, Crocker & Huitema                               [Page 40]
  2243.  
  2244. RFC 1636                  IAB Workshop Report                  June 1994
  2245.  
  2246.  
  2247.    6.2  Secure Plug-and-Play a Must
  2248.  
  2249.       Plug-and-play is the ability to plug a new device into a network
  2250.       and have it obtain the information it needs to communicate with
  2251.       other devices, without requiring any new configuration
  2252.       information.  Secure plug-and-play is an important Internet
  2253.       requirement, and a central architectural issue is whether it can
  2254.       be made to scale well.
  2255.  
  2256.       For plug-and-play operation, a new machine that is "plugged" into
  2257.       the network needs to:
  2258.  
  2259.       (1)  Obtain an locator so it can communicate with other devices
  2260.  
  2261.       (2)  Register or obtain a name to be identified by (e.g., machine
  2262.            name)
  2263.  
  2264.       (3)  Discover services available on the network (e.g., printers,
  2265.            routers, file servers, etc.)
  2266.  
  2267.       (4)  Discover other systems on the network so it can communicate
  2268.            with them.
  2269.  
  2270.       In some environments, no security mechanisms are required because
  2271.       physical security and local knowledge of the users are sufficient
  2272.       protection.  At the other end of the spectrum is a large network
  2273.       with many groups of users, different types of outside connections,
  2274.       and levels of administrative control.  In such environments,
  2275.       similar plug-and-play capabilities are needed, but the new device
  2276.       must be "authenticated" before it can perform these functions.  In
  2277.       each step in the discovery process the new device must
  2278.       authenticate itself prior to learning about services.
  2279.  
  2280.       The steps might be:
  2281.  
  2282.       -    Obtain a HLID from a smart card, smart disk, or similar
  2283.            device.
  2284.  
  2285.       -    Authenticate itself with the first plug-and-play server using
  2286.            its HLID, to register a name and to find the location of
  2287.            other services.
  2288.  
  2289.       -    Discover services available on the network (e.g., printers,
  2290.            routers, file servers, etc.) based on its HLID.
  2291.  
  2292.       -    Discover other systems on the network so it can communicate
  2293.            with them.
  2294.  
  2295.  
  2296.  
  2297.  
  2298. Braden, Clark, Crocker & Huitema                               [Page 41]
  2299.  
  2300. RFC 1636                  IAB Workshop Report                  June 1994
  2301.  
  2302.  
  2303.       The problem of taking a system out of the box and initially
  2304.       configuring it is similar to the problem of a mobile or portable
  2305.       machine  that a human wants to connect to a local network
  2306.       temporarily in order to receive services on that network.  How can
  2307.       the local network authenticate the human (and therefore the
  2308.       human's machine) and know which services this visiting machine is
  2309.       permitted to use?
  2310.  
  2311.       The human must be endowed with a high level identifier (HLID)
  2312.       which acts as his/her passport and can be verified by the local
  2313.       network.  This high level identifier must be globally unique and
  2314.       registered/assigned by some recognized authority.
  2315.  
  2316.       When the human plugs the machine onto a local net, the machine
  2317.       identifies itself to the net with the human's high level
  2318.       identifier.  If local net has a policy of permitting anyone to
  2319.       plug and play on its network, it will ignore the HLID and assign
  2320.       an address (locator), permitting the visitor unrestricted access
  2321.       and privileges.  More likely, the local net will authenticate the
  2322.       HLID prior to granting the visitor an address or any privileges.
  2323.  
  2324.       At this point, the HLID has only authenticated the visitor to the
  2325.       local network; the issue of which services or resources the
  2326.       visitor is entitled to use has not been addressed.  It is
  2327.       desirable to develop a low-overhead approach to granting
  2328.       authentications to new users. This will help in the case of
  2329.       visitors to a site, as well as new users joining a facility.
  2330.  
  2331.    6.3  A Short-Term Confidentiality Mechanism
  2332.  
  2333.       Authentication has customarily been achieved using passwords.  In
  2334.       the absence of active attacks, the greatest threat to computer
  2335.       system security may be the ease with which passwords can be
  2336.       "snooped" by the promiscuous monitoring of shared-media networks.
  2337.       There are known security techniques for achieving authentication
  2338.       without exposing passwords to interception, for example the
  2339.       techniques implemented in the well-known Kerberos system.
  2340.       However, authentication systems such as Kerberos currently operate
  2341.       only in isolation within organizational boundaries.  Developing
  2342.       and deploying a global authentication infrastructure is an
  2343.       important objective, but it will take some years.  Another useful
  2344.       approach in the short term is the use of a challenge-response user
  2345.       authentication scheme (e.g., S/Key).
  2346.  
  2347.       One of the groups explored another interim approach to guarding
  2348.       passwords: introducing a readily-used confidentiality mechanism
  2349.       based on an encrypted TCP connection.  This would operate at the
  2350.       IP level to encrypt the IP payload, including the TCP header, to
  2351.  
  2352.  
  2353.  
  2354. Braden, Clark, Crocker & Huitema                               [Page 42]
  2355.  
  2356. RFC 1636                  IAB Workshop Report                  June 1994
  2357.  
  2358.  
  2359.       allow the nature as well of the contents of the communication to
  2360.       be kept private.  It could be implemented to provide either
  2361.       "strict" protection (the connection fails if the other side cannot
  2362.       decrypt your data stream) or "loose" protection (falling back to
  2363.       non-private TCP if decryption fails).
  2364.  
  2365.       Loose protection would allow interoperability with older hosts in
  2366.       a seamless (non-user-intrusive) manner.
  2367.  
  2368.       One-time keys may be exchanged during the SYN handshake that
  2369.       starts the TCP connection.  Using one-time keys avoids a need for
  2370.       infrastructure support and does not require trust between the
  2371.       organizations on the two ends of the connection.  Tieing the key
  2372.       exchange to the SYN handshake will avoid the possibility of having
  2373.       the connection fully open without knowing the state of encryption
  2374.       on both ends of the connection.  Although it may still be
  2375.       theoretically possible to intercept the SYN exchange and subvert
  2376.       the connection by an active "man-in-the-middle" attack, in
  2377.       practice such attacks on TCP connections are quite difficult
  2378.       unless the routing protocols have been subverted.
  2379.  
  2380.       The keys could be exchanged using a new option that specifies the
  2381.       key exchange protocol, the data encryption algorithm, and the key
  2382.       to be used to decrypt the connection.  It could be possible to
  2383.       include multiple options in the same SYN segment, specifying
  2384.       different encryption models; the far end would then need to
  2385.       acknowledge the option that it is willing to use.  In this case,
  2386.       the lack of an acknowledgement would imply disinterest in
  2387.       decrypting the datastream.  If a loose privacy policy were in
  2388.       force, the connection could continue even without an
  2389.       acknowledgment.  The policy, "strict" or "loose", would be set by
  2390.       either the user or the default configuration for the machine.
  2391.  
  2392.       One must however observe that a TCP option can carry only a
  2393.       limited amount of data.  Efficient protection against crypto-
  2394.       analysis of the Diffie-Hellmann scheme may require the use of a
  2395.       very long modulus, e.g., 1024 bits, which cannot be carried in the
  2396.       40 bytes available for TCP options.  One would thus have either to
  2397.       define an "extended option" format or to implement encryption in a
  2398.       separate protocol layered between TCP and IP, perhaps using a
  2399.       version of "IP security".  The detailed engineering of such a
  2400.       solution would have to be studied by a working group.
  2401.  
  2402.       A TCP connection encryption mechanism such as that just outlined
  2403.       requires no application changes, although it does require kernel
  2404.       changes.  It has important drawbacks, including failure to provide
  2405.       privacy for privacy for UDP, and the great likelihood of export
  2406.       control restrictions.  If Diffie-Hellman were used, there would
  2407.  
  2408.  
  2409.  
  2410. Braden, Clark, Crocker & Huitema                               [Page 43]
  2411.  
  2412. RFC 1636                  IAB Workshop Report                  June 1994
  2413.  
  2414.  
  2415.       also be patent issues.
  2416.  
  2417. 7. CONCLUSIONS
  2418.  
  2419.    As a practical matter, security must be added to the Internet
  2420.    incrementally.  For example, a scheme that requires, as a
  2421.    precondition for any improvement, changes to application code, the
  2422.    DNS, routers and firewalls all at once will be very hard to deploy.
  2423.    One of the reasons the workshop explored schemes that are local to
  2424.    the IP layer is that we surmise that they might be easier to deploy
  2425.    in practice.
  2426.  
  2427.    There are two competing observations that must shape planning for
  2428.    Internet security.  One is the well known expression: "the best is
  2429.    the enemy of the good."  The other is the observation that the
  2430.    attacks are getting better.
  2431.  
  2432.    Finally, it should noted that the principle of least privilege, which
  2433.    was mentioned above, may be in contradiction to the principle of
  2434.    least cost.
  2435.  
  2436.    7.1  Suggested Short-Term Actions
  2437.  
  2438.       The general recommendation for short-term Internet security policy
  2439.       was that the IETF should make a list of desirable short-term
  2440.       actions and then reach out to work with other organizations to
  2441.       carry them out.  Other organizations include regionals, which may
  2442.       be in a good position to provide site security counseling services
  2443.       to their customers, vendors and other providers, and other
  2444.       societies.  We should also give input to the US government to
  2445.       influence their posture on security in the direction desired by
  2446.       the community.
  2447.  
  2448.       A suggested preliminary list of short-term actions was developed.
  2449.  
  2450.       o    Perform external diagnostic security probes
  2451.  
  2452.            Organizations should be encouraged to use CRACK and other
  2453.            tools to check the robustness of their own passwords.  It
  2454.            would also be useful to run a variety of security probes from
  2455.            outside.  Since this is a very sensitive issue, some care
  2456.            needs to be taken to get the proper auspices for such
  2457.            probing.
  2458.  
  2459.  
  2460.  
  2461.  
  2462.  
  2463.  
  2464.  
  2465.  
  2466. Braden, Clark, Crocker & Huitema                               [Page 44]
  2467.  
  2468. RFC 1636                  IAB Workshop Report                  June 1994
  2469.  
  2470.  
  2471.            Useful probe tools include:
  2472.  
  2473.                ISS: Klaus (GA)
  2474.                SATAN: Farmer Venema
  2475.                ICEPICK: NRL
  2476.  
  2477.       o    Determine Security-Risk Publication Channels
  2478.  
  2479.            What channels should be used for disseminating information of
  2480.            security risks?
  2481.  
  2482.       o    Encourage use of one-time passwords.
  2483.  
  2484.            Available packages: S/Key, SecurID, Enigma, Digital Pathways.
  2485.  
  2486.       o    Develop and publish guidelines for protocol developers, for
  2487.            security-friendliness and firewall-friendliness.
  2488.  
  2489.       o    Control topology to isolate threats
  2490.  
  2491.       o    Set privacy policy:
  2492.  
  2493.            *    Always
  2494.  
  2495.            *    As much as possible
  2496.  
  2497.       o    Bring Site Security Handbook up to date
  2498.  
  2499.       o    Support use of Kerberos
  2500.  
  2501.       The subject of the "Clipper chip" came up several times, but there
  2502.       was not sufficient discussion of this very complex issue for this
  2503.       grouip to reach a recommendation.  It has been observed that there
  2504.       are a number of quite differing viewpoints about Clipper.
  2505.  
  2506.            o    Some people accept the government's Clipper proposal,
  2507.                 including key escrow by the US government and the
  2508.                 requirement that encryption be in hardware.
  2509.  
  2510.            o    Some people don't mind key escrow by the government in
  2511.                 principle, but the object to the hardware requirement.
  2512.  
  2513.            o    Some people don't mind key escrow in principle, but
  2514.                 don't want the government to hold the keys.  They would
  2515.                 be comfortable with having the organization which owns
  2516.                 the data hold the keys.
  2517.  
  2518.            o    Some people don't want key escrow at all.
  2519.  
  2520.  
  2521.  
  2522. Braden, Clark, Crocker & Huitema                               [Page 45]
  2523.  
  2524. RFC 1636                  IAB Workshop Report                  June 1994
  2525.  
  2526.  
  2527.            o    Some people don't mind the hardware or the key escrow,
  2528.                 but they don't think this will be acceptable to other
  2529.                 countries and thus will not work internationally.
  2530.  
  2531.       This report takes no position on any of these viewpoints.
  2532.  
  2533.    7.2  Suggested Medium-Term Actions
  2534.  
  2535.       These actions require some protocol design or modification;
  2536.       however, they use existing security technology and require no
  2537.       research.
  2538.  
  2539.       o    Authentication Protocol
  2540.  
  2541.            There is a problem of the choice of technology.  Public key
  2542.            technology is generally deemed superior, but it is patented
  2543.            and can also induce relatively long computations.  Symmetric
  2544.            key technology (Needham-Schroeder algorithm, as used in
  2545.            Kerberos) has some technical drawbacks but it is not
  2546.            patented.  A system based on symmetric keys and used only for
  2547.            authentication would be freely exportable without being
  2548.            subject to patents.
  2549.  
  2550.       o    Push Kerberos
  2551.  
  2552.            Engineering is needed on Kerberos to allow it to interoperate
  2553.            with mechanisms that use public key cryptography.
  2554.  
  2555.       o    Push PEM/RIPEM/PGP...
  2556.  
  2557.       o    Develop an authenticated DNS
  2558.  
  2559.       o    Develop a key management mechanism
  2560.  
  2561.       o    Set up a certificate server infrastructure
  2562.  
  2563.            Possible server mechanisms include the DNS, Finger, SNMP,
  2564.            Email, Web, and FTP.
  2565.  
  2566.       o    Engineer authentication for the Web
  2567.  
  2568.  
  2569.    7.3  Suggested Long-Term Actions
  2570.  
  2571.       In this category, we have situations where a threat has been
  2572.       identified and solutions are imaginable, but closure has not been
  2573.       reached on the principles.
  2574.  
  2575.  
  2576.  
  2577.  
  2578. Braden, Clark, Crocker & Huitema                               [Page 46]
  2579.  
  2580. RFC 1636                  IAB Workshop Report                  June 1994
  2581.  
  2582.  
  2583.       o    Executable Apps
  2584.  
  2585.       o    Router sabotage counter-measures
  2586.  
  2587.       o    Prevent Byzantine routing.
  2588.  
  2589.       o    Proxy Computing
  2590.  
  2591.       o    Decomposition of computers
  2592.  
  2593.       o    Are there "good" viruses?
  2594.  
  2595.  
  2596.  
  2597.  
  2598.  
  2599.  
  2600.  
  2601.  
  2602.  
  2603.  
  2604.  
  2605.  
  2606.  
  2607.  
  2608.  
  2609.  
  2610.  
  2611.  
  2612.  
  2613.  
  2614.  
  2615.  
  2616.  
  2617.  
  2618.  
  2619.  
  2620.  
  2621.  
  2622.  
  2623.  
  2624.  
  2625.  
  2626.  
  2627.  
  2628.  
  2629.  
  2630.  
  2631.  
  2632.  
  2633.  
  2634. Braden, Clark, Crocker & Huitema                               [Page 47]
  2635.  
  2636. RFC 1636                  IAB Workshop Report                  June 1994
  2637.  
  2638.  
  2639. APPENDIX A -- Workshop Organization
  2640.  
  2641.    The following list of attendees indicates also the breakout group to
  2642.    which they were assigned.
  2643.  
  2644.    Breakout Groups
  2645.  
  2646.    Group I.1 Leader:
  2647.    1 Christian Huitema, INRIA        (IAB)
  2648.  
  2649.    1 Steve Bellovin, AT&T
  2650.    1 Bob Braden, ISI                 (IAB)
  2651.    1 John Curran, NEARNET
  2652.    1 Phill Gross, ANS                (IETF/IAB)
  2653.    1 Stev Knowles, FTP Software      (Internet AD)
  2654.    1 Barry Leiner, USRA              (IAB)
  2655.    1 Paul Mockapetris, ISI
  2656.    1 Yakov Rekhter, IBM              (IAB)
  2657.    1 Dave Sincoskie, Bellcore        (IAB)
  2658.  
  2659.    Group I.2 Leader:
  2660.    2 Steve Crocker, TIS              (Security AD)
  2661.  
  2662.    2 Jon Crowcroft
  2663.    2 Steve Deering, PARC
  2664.    2 Paul Francis, NTT
  2665.    2 Van Jacobson, LBL
  2666.    2 Phil Karn, Qualcomm
  2667.    2 Allison Mankin, NRL             (Transport AD, IPng AD)
  2668.    2 Radia Perlman, Novell
  2669.    2 John Romkey, ELF                (IAB)
  2670.    2 Mike StJohns, ARPA              (IAB)
  2671.  
  2672.    Group I.3 Leader:
  2673.    3 Dave Clark, MIT
  2674.  
  2675.    3 Deborah Estrin, USC
  2676.    3 Elise Gerich, Merit             (IAB)
  2677.    3 Steve Kent, BBN                 (IAB)
  2678.    3 Tony Lauck, DEC                 (IAB)
  2679.    3 Tony Li, CISCO
  2680.    3 Bob Hinden, Sun                 (IESG->IAB liaison, Routing AD)
  2681.    3 Jun Murai, WIDE                 (IAB)
  2682.    3 Scott Shenker, PARC
  2683.    3 Abel Weinrib, Bellcore
  2684.  
  2685.    The following were able to attend only the third day, due to a
  2686.    conflicting ISOC Board of Trustees meeting:
  2687.  
  2688.  
  2689.  
  2690. Braden, Clark, Crocker & Huitema                               [Page 48]
  2691.  
  2692. RFC 1636                  IAB Workshop Report                  June 1994
  2693.  
  2694.  
  2695.      Scott Bradner, Harvard           (IPng AD)
  2696.      Jon Postel, ISI                  (IAB)
  2697.  
  2698.    The workshop agenda was as follows.
  2699.  
  2700.       Tues Feb 8
  2701.           9:00 - 10:30  Plenary
  2702.               Discuss facilities, meeting goals, agenda, organization.
  2703.               Establish some minimal common understandings.  Assign
  2704.               scenarios to Breakout I groups.
  2705.  
  2706.           10:30 - 13:00  Breakout I meetings
  2707.               Each breakout group examine one or more scenarios and
  2708.               formulate a list of design questions.  Lunch available on
  2709.               11th floor.
  2710.  
  2711.           13:00 - 15:00  Plenary
  2712.               Report, discuss.  Collate and shorten list of design
  2713.               issues.  Organize Breakout II groups to work on these
  2714.               issues.
  2715.  
  2716.           15:00 - 17:30  Breakout IIa meetings
  2717.               Work on design issues.
  2718.  
  2719.       Wed Feb 9
  2720.            9:00 - 10:00   Plenary
  2721.               Report, discuss.
  2722.  
  2723.           10:00 - 13:30  Breakout IIb meetings
  2724.               More work on design questions, develop list of
  2725.               requirements.
  2726.  
  2727.           13:30 - 14:30  Plenary
  2728.               Report, discuss.
  2729.  
  2730.           15:30 - 17:30  Breakout III groups
  2731.  
  2732.       Thurs Feb 10
  2733.           9:00 - 9:30 Plenary
  2734.  
  2735.           9:30 - 11:00 Breakout Groups (wrapup)
  2736.  
  2737.           11:00 - 12:00 Plenary
  2738.               Discuss possible short-term security recommendations
  2739.  
  2740.           13:00 - 14:00  Plenary --  Discuss short-term security issues
  2741.  
  2742.           14:00 - 14:30  Plenary --  Presentation by Steve Bellovin
  2743.  
  2744.  
  2745.  
  2746. Braden, Clark, Crocker & Huitema                               [Page 49]
  2747.  
  2748. RFC 1636                  IAB Workshop Report                  June 1994
  2749.  
  2750.  
  2751.           14:30 - 16:00  Plenary --  Long- and Medium-term
  2752.                                      Recommendations
  2753.  
  2754.    The following scenarios were used as a starting point for
  2755.    discussions.  It distinguished security-S (security as a service to
  2756.    the end systems) from security-M, security as a mechanism to support
  2757.    other services.  The workshop was intended to be primarily concerned
  2758.    with interactions among the following different *services*:
  2759.  
  2760.    o    Security-S
  2761.  
  2762.    o    Routing
  2763.  
  2764.    o    Multi-destination delivery (mcast-S)
  2765.  
  2766.    o    Realtime Packet scheduling (realtime)
  2767.  
  2768.    o    Mobility
  2769.  
  2770.    o    Accounting
  2771.  
  2772.         (and maybe large-scale?)
  2773.  
  2774.    These categories were then applied to the following scenarios:
  2775.  
  2776.    S1.  Support a private teleconference among mobile hosts connected to
  2777.         the Internet.  [Security-S, mcast-S, realtime, mobility]
  2778.  
  2779.    S2.  The group in S1 is 1/3 the Internet, i.e., there are VERY severe
  2780.         scaling problems.  [Security-S, mcast-S, realtime, mobility,
  2781.         large-scale]
  2782.  
  2783.    S3.  Charge for communication to support a video teleconference.
  2784.         [Accounting, realtime, mcast-S]
  2785.  
  2786.    S4.  I am travelling with my laptop. I tune in to radio channel IP-
  2787.         RADIO, pick-up the beacon and start using it.  Who gets the
  2788.         bill?  Why do they believe this is me?  Is "me" a piece of
  2789.         hardware (IP address) or a certified user (PEM certificate)?
  2790.         [Mobility, accounting (, realtime, mcast-S)]
  2791.  
  2792.    S5.  A Politically Important Person will mcast an Internet
  2793.         presentation, without danger of interruptions from the audience.
  2794.  
  2795.    S6.  The travel industry wants to use Internet to deliver tickets to
  2796.         customer premises directly in a secure way, but the customer has
  2797.         only dial-up capability.  [Security-S, mobility]
  2798.  
  2799.  
  2800.  
  2801.  
  2802. Braden, Clark, Crocker & Huitema                               [Page 50]
  2803.  
  2804. RFC 1636                  IAB Workshop Report                  June 1994
  2805.  
  2806.  
  2807.    S7.  I am traveling with my laptop and this friendly host is running
  2808.         the autoconfiguration protocol. I immediately get an address as
  2809.         "mac1.friendly.host.com".   (What is the difference between my
  2810.         laptop and a bona fide autoconfigured local station?)
  2811.         [Security-S, mobility]
  2812.  
  2813.    S8.  Multiple people are connected to a subnetwork providing mobility
  2814.         (e.g., cellular, packet radio). The subnetwork is connected to
  2815.         multiple places in the "fixed" backbone. How can routing be done
  2816.         efficiently?  [Routing, mobility]
  2817.  
  2818.    The following scenarios that were suggested do not fit into the
  2819.    primary thrust of the workshop, generally because they are single-
  2820.    issue topics.  Most of them are pure security topics and are
  2821.    concerned with the security perimeter.  The last two do not fit into
  2822.    our classification system at all.
  2823.  
  2824.    S9.  XYZ corporation has two major branches on opposite ends of the
  2825.         world, and they want to communicate securely over the Internet,
  2826.         with each branch having IP-level connectivity to the other (not
  2827.         through application gateways).
  2828.  
  2829.    S10. I am visiting XYZ corporation, with my laptop.  I want to
  2830.         connect it to their LAN to read my email remotely over the
  2831.         Internet.  Even though I am inside their corporate firewall,
  2832.         they want to be protect their machines from me.
  2833.  
  2834.    S11. XYZ corporation is trying to use the Internet to support both
  2835.         private and public networking.  It wants to provide full
  2836.         connectivity internally between all of its resources, and to
  2837.         provide public access to certain resources (analogous of
  2838.         anonymous ftp servers)
  2839.  
  2840.    S12. The travel industry wants to use Internet to deliver tickets to
  2841.         customer premises directly in a secure way.
  2842.  
  2843.    S13. Some hacker is deliberately subverting routing protocols,
  2844.         including mobile and multicast routing.  Design counter
  2845.         measures.
  2846.  
  2847.    S14. Part of the Internet is running IPv4 and part is running IPng
  2848.         (i.e.  the Internet is in transition). How can we assure
  2849.         continued secure operation through such a transition?
  2850.  
  2851.    S15. A corporation uses ATM to connect a number of its sites. It also
  2852.         uses Internet. It wants to make use of the ATM as its primary
  2853.         carrier, but also wants to utilize other networking technologies
  2854.         as appropriate (e.g., mobile radio).  It wants to support all
  2855.  
  2856.  
  2857.  
  2858. Braden, Clark, Crocker & Huitema                               [Page 51]
  2859.  
  2860. RFC 1636                  IAB Workshop Report                  June 1994
  2861.  
  2862.  
  2863.         media (data, voice, video).
  2864.  
  2865.  
  2866. Security Considerations
  2867.  
  2868.    This memo is entirely concerned with security issues.
  2869.  
  2870. Authors' Addresses
  2871.  
  2872.    Bob Braden [Editor]
  2873.    USC Information Sciences Institute
  2874.    4676 Admiralty Way
  2875.    Marina del Rey, CA 90292-6695
  2876.  
  2877.    Phone: (310) 822-1511
  2878.    EMail: Braden@ISI.EDU
  2879.  
  2880.  
  2881.    David Clark
  2882.    MIT Laboratory for Computer Science
  2883.    545 Technology Square
  2884.    Cambridge, MA 02139-1986
  2885.  
  2886.    Phone: 617-253-6003
  2887.    EMail: ddc@lcs.mit.edu
  2888.  
  2889.  
  2890.    Steve Crocker
  2891.    Trusted Information Systems, Inc.
  2892.    3060 Washington Road (Rte 97)
  2893.    Glenwood, MD 21738
  2894.  
  2895.    Phone: (301) 854-6889
  2896.    EMail: crocker@tis.com
  2897.  
  2898.  
  2899.    Christian Huitema
  2900.    INRIA, Sophia-Antipolis
  2901.    2004 Route des Lucioles
  2902.    BP 109
  2903.    F-06561 Valbonne Cedex
  2904.    France
  2905.  
  2906.    Phone:  +33 93 65 77 15
  2907.    EMail: Christian.Huitema@MIRSA.INRIA.FR
  2908.  
  2909.  
  2910.  
  2911.  
  2912.  
  2913.  
  2914. Braden, Clark, Crocker & Huitema                               [Page 52]
  2915.  
  2916.